使用AWS SESv2 CLI向订阅主题的联系人发邮件时遇Destination为空错误
AWS SESv2 CLI 向订阅特定主题联系人发邮件的正确方式
你遇到的问题核心是对send-email命令的--list-management-options参数用途理解有误:
send-email是用于给明确指定的收件人发送单封邮件的命令,--list-management-options的作用只是在发送邮件时关联对应的联系人列表和主题(比如更新联系人的邮件交互记录、订阅状态),它并不会自动拉取列表中的联系人作为收件人。所以你必须通过--destination、--to、--cc或--bcc指定收件人,否则就会触发"Destination cannot be empty"错误。要实现向联系人列表中订阅特定主题的所有用户批量发送邮件,你需要使用**
send-bulk-email**命令,这个命令才支持基于联系人列表和主题筛选收件人。
正确的命令示例如下:
aws sesv2 send-bulk-email \ --from-email-address no-reply@mysite.xyz \ --template '{"TemplateName": "mytemplate"}' \ --bulk-email-entry-list '[{"Destination": {"ToAddresses": []}, "ReplacementTemplateData": "{}"}]' \ --list-management-options '{"ContactListName": "mylist", "TopicName": "Announcements"}'
补充说明:
--bulk-email-entry-list填写空的ToAddresses数组是因为SES会自动从指定的联系人列表和主题中拉取符合条件的收件人,这个字段是命令格式要求的必填项,但实际不会使用里面的内容。- 确保你的模板
mytemplate已经在SES中创建完成,且格式、变量配置正确。 - 验证你的AWS CLI权限是否包含
ses:SendBulkEmail操作,以及对目标联系人列表的访问权限。
内容的提问来源于stack exchange,提问作者AlwaysLearning
相关产品推荐
相关产品推荐

