Python Aws SES->;SNS通知不';是否在“打开”中不包括收件人地址,请单击“事件”?
我正在使用boto3从Aws SES发送电子邮件。下面是一个python代码示例。问题是SNS通知在打开,单击事件通知中不包括收件人地址。我在Open/Click事件中收到了完全相同的通知,唯一的区别是时间戳。因此,我无法知道哪个收件人打开或点击了该电子邮件。但是,收件人地址包含在递送通知中。因此,我假设应该可以在“打开/单击”事件中获取收件人地址。我的目标是使用密件抄送(bcc)向多个收件人发送一封电子邮件,并确切知道谁收到了该电子邮件以及是否打开了该电子邮件。我该怎么办,我走对了吗Python Aws SES->;SNS通知不';是否在“打开”中不包括收件人地址,请单击“事件”?,python,amazon-web-services,boto3,amazon-sns,amazon-ses,Python,Amazon Web Services,Boto3,Amazon Sns,Amazon Ses,我正在使用boto3从Aws SES发送电子邮件。下面是一个python代码示例。问题是SNS通知在打开,单击事件通知中不包括收件人地址。我在Open/Click事件中收到了完全相同的通知,唯一的区别是时间戳。因此,我无法知道哪个收件人打开或点击了该电子邮件。但是,收件人地址包含在递送通知中。因此,我假设应该可以在“打开/单击”事件中获取收件人地址。我的目标是使用密件抄送(bcc)向多个收件人发送一封电子邮件,并确切知道谁收到了该电子邮件以及是否打开了该电子邮件。我该怎么办,我走对了吗 #参考:
#参考:https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-using-sdk-python.html
导入操作系统
进口boto3
从botocore.exceptions导入ClientError
从dotenv导入加载\u dotenv
加载_dotenv()
AWS\u ACCESS\u KEY\u ID=os.getenv(“AWS\u ACCESS\u KEY\u ID”)
AWS\u SECRET\u ACCESS\u KEY=os.getenv(“AWS\u SECRET\u ACCESS\u KEY”)
发件人=“我的名字”
CONFIGURATION\u SET=“我的配置集”
AWS_REGION=“美国西部-2”
SUBJECT=“Amazon SES测试(Python的SDK)”
#具有非HTML电子邮件客户端的收件人的电子邮件正文。
正文\文本=(“亚马逊SES测试(Python)\r\n”
“此电子邮件由Amazon SES使用发送”
“用于Python的AWS SDK(Boto)。”
)
#电子邮件的HTML正文。
BODY_HTML=“”
1-Amazon SES测试(Python的SDK)
此电子邮件是随电子邮件发送的
使用
"""
#电子邮件的字符编码。
CHARSET=“UTF-8”
#创建新的SES资源并指定区域。
客户机=boto3.客户机('ses',地区名称=AWS\U地区)
#尝试发送电子邮件。
尝试:
#提供电子邮件的内容。
响应=client.send_电子邮件(
目的地={
“ToAddresss”:[
#接受者,
"myemailaddress1@gmail.com"
],
“BCCADRESS”:[
'myemailaddress2@gmail.com'
],
},
信息={
“身体”:{
“Html”:{
“字符集”:字符集,
“数据”:正文和HTML,
},
“文本”:{
“字符集”:字符集,
“数据”:正文文本,
},
},
“主题”:{
“字符集”:字符集,
“数据”:主题,
},
},
来源=发送方,
ConfigurationSetName=配置集合,
)
#如果出现错误,则显示错误。
除ClientError作为e外:
打印(例如响应['Error']['Message'])
其他:
打印(“已发送电子邮件!邮件ID:”),
打印(响应['MessageId'])
如果一封电子邮件包含多个收件人,SES目前无法判断哪个收件人打开了该电子邮件,这是预期的,建议的方法是向一位收件人发送电子邮件,并根据邮件id保留记录。我明白了。谢谢你的答复。。他们做到了这一点,成功地传递了收件人的电子邮件。我希望他们也能实现成功打开哪个收件人。或者设计上不可能?我看到的一个值是ipAddress,它可以告诉您访问1像素图像的ip向AWS发出的请求,但这取决于具体情况,例如:hotmail,它要求用户的浏览器加载1像素图像,而gmail使用自己的ip加载1像素图像