Python实现AWS Lambda S3附件邮件To、CC、BCC多收件人配置咨询
解决方法
AWS SES的发信接口原生支持传入列表格式的收件人参数,你只需要修改两个位置即可实现多收件人配置:
- 调整收件人配置格式
把原来单个字符串格式的收件人地址,改为字符串列表,多个地址用英文逗号分隔即可:
# 原来的单收件人写法(仅支持1个地址) # TO_ADDR = "recipient1@example.com" # CC_ADDR = "cc1@example.com" # BCC_ADDR = "bcc1@example.com" # 修改后的多收件人写法(支持任意数量地址) TO_ADDRS = ["recipient1@example.com", "recipient2@example.com", "recipient3@example.com"] CC_ADDRS = ["cc1@example.com", "cc2@example.com"] BCC_ADDRS = ["bcc1@example.com"]
- 修改SES调用的Destination参数
把你原来代码里Destination字段对应的参数,替换成上面定义的列表即可,不需要额外处理:
response = ses_client.send_email( Source=SENDER_ADDR, Destination={ "ToAddresses": TO_ADDRS, "CcAddresses": CC_ADDRS, "BccAddresses": BCC_ADDRS }, Message={ "Subject": { "Data": "S3新文件上传通知" }, "Body": { "Html": { "Data": email_body } } } )
注意事项
- 如果你的AWS SES还处于沙箱环境,所有收件人地址都需要先在SES控制台完成验证才能正常发信
- 单封邮件的所有收件人(To+CC+BCC)总数不能超过SES对应区域的单信收件人数限制,默认沙箱环境上限为50个,生产环境可以提交工单提升配额
内容的提问来源于stack exchange,提问作者Sathya
相关产品推荐
相关产品推荐

