【问题标题】:Amazon SES - Hide recipient email addressesAmazon SES - 隐藏收件人电子邮件地址
【发布时间】:2016-08-02 14:01:19
【问题描述】:

我正在通过 boto3 python 库测试 Amazon SES。当我发送电子邮件时,我会看到所有收件人地址。如何通过 Amazon SES 隐藏多个电子邮件的这些 ToAddress?

以下是部分代码

import boto3
client=boto3.client('ses')
to_addresses=["**@**","**@**","**@**",...]

response = client.send_email(
    Source=source_email,
    Destination={
        'ToAddresses': to_addresses
    },
    Message={
        'Subject': {
        'Data': subject,
        'Charset': encoding
        },
        'Body': {
            'Text': {
                'Data': body ,
                'Charset': encoding
            },
            'Html': {
                'Data': html_text,
                'Charset': encoding
            }
        }
    },
    ReplyToAddresses=reply_to_addresses
)

【问题讨论】:

  • 将它们作为密件抄送而不是收件人发送?
  • 根据记忆,它不允许您以这种方式进行密件抄送,您需要自己创建一条消息并发送原始消息。请参阅下面的答案。
  • SES 是 billed per recipient,而不是每条消息...因此,如果您出于成本原因将同一条消息发送给多个收件人...不要。
  • @michael:我认为你是对的!我还需要对每封电子邮件进行个性化。因此,我可以循环接收收件人并替换个性化变量。这是最佳做法吗?
  • 我会这么说。它还将简化跟踪交付、退回和投诉。对多个收件人进行跟踪并非不可能,但会变得很棘手,尤其是在投诉时。 It's critical 您妥善处理这些问题并立即停止发送给投诉者......同样重要的是,您停止发送到弹跳地址 - 在关闭粗心的人时,SES 不会乱来。发送配额也适用于收件人,而不是邮件。

标签: python python-2.7 amazon-web-services amazon-ses boto3


【解决方案1】:

我们改用 send_raw_email 函数,它可以更好地控制您的邮件的组成。您可以通过这种方式轻松添加密件抄送标头。

生成消息的代码示例以及如何发送消息

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

msg = MIMEMultipart('alternative')
msg['Subject'] = 'Testing BCC'
msg['From'] = 'no-reply@example.com'
msg['To'] = 'user@otherdomain.com'
msg['Bcc'] = 'hidden@otherdomain.com'

我们使用模板和 MIMEText 来添加消息内容(模板部分未显示)。

part1 = MIMEText(text, 'plain', 'utf-8')
part2 = MIMEText(html, 'html', 'utf-8')
msg.attach(part1)
msg.attach(part2)

然后使用 SES send_raw_email() 发送。

ses_conn.send_raw_email(msg.as_string())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2017-05-10
    • 2019-07-23
    • 2020-12-01
    • 2016-04-25
    相关资源
    最近更新 更多