You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求基于AWS SES的Python代码:发送CSV文件至指定邮箱

使用AWS SES发送带CSV附件的Python代码示例

以下是基础的Python代码,用于通过AWS SES发送包含CSV附件的邮件到指定邮箱:

首先确保安装依赖:

pip install boto3

完整代码

import boto3
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
import os

# 初始化SES客户端,替换为你的AWS区域
ses_client = boto3.client('ses', region_name='us-east-1')

# 配置邮件参数
sender = "verified-sender@yourdomain.com"  # 必须是AWS SES验证过的发件邮箱
recipient = "abc@gmail.com"
subject = "CSV文件附件"
body = "您好,这是您需要的CSV文件,请查收附件。"

# 构造多部分邮件(支持文本+附件)
message = MIMEMultipart()
message['From'] = sender
message['To'] = recipient
message['Subject'] = subject

# 添加邮件正文
message.attach(MIMEText(body, 'plain'))

# 读取并添加CSV附件
csv_path = "/path/to/your/target.csv"  # 替换为你的CSV文件路径
with open(csv_path, 'rb') as csv_file:
    attachment = MIMEApplication(csv_file.read(), Name=os.path.basename(csv_path))
# 设置附件的Content-Disposition头,确保邮件客户端识别为附件
attachment['Content-Disposition'] = f'attachment; filename="{os.path.basename(csv_path)}"'
message.attach(attachment)

# 发送邮件
try:
    response = ses_client.send_raw_email(
        Source=sender,
        Destinations=[recipient],
        RawMessage={'Data': message.as_string()}
    )
    print(f"邮件发送成功,消息ID: {response['MessageId']}")
except Exception as err:
    print(f"发送失败,错误信息: {err}")

关键注意事项

  • 发件邮箱验证:沙箱模式下的AWS SES要求发件邮箱必须经过验证;若账号已移出沙箱,则可发送至任意邮箱。
  • AWS权限配置:确保你的AWS凭证(通过~/.aws/credentials或环境变量配置)拥有ses:SendRawEmail权限。
  • 区域选择:替换代码中的region_name为你实际使用的AWS区域(如ap-southeast-1)。
  • 路径替换:务必将csv_path替换为你本地CSV文件的实际路径。

内容的提问来源于stack exchange,提问作者Shivam JINDAL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 13:27:09