如何为Amazon SNS邮件自定义发件人名称
Amazon SNS邮件通知自定义发件人名称/域名配置方法
可以自定义SNS邮件通知的发件人名称及域名,默认显示的"AWS Notifications"是SNS使用AWS默认邮件资源导致的,具体配置步骤如下:
1. 准备已验证的Amazon SES发件人/域名
首先需要在Amazon SES中验证你要使用的发件人邮箱地址或整个域名:
- 登录AWS控制台,进入SES服务
- 选择「已验证的身份」,添加并验证目标邮箱(通过邮件验证链接)或域名(通过DNS记录验证)
- 确保该身份处于「已验证」状态;若处于SES沙箱环境,还需验证收件人邮箱或申请移出沙箱
2. 配置SNS主题使用自定义SES发件人
方法一:AWS控制台配置
- 进入SNS服务控制台,找到目标主题
- 点击「订阅」标签:若已有邮件订阅,选择订阅并点击「编辑」;若新建订阅,选择协议为
Email或Email-JSON - 在订阅设置中,找到「自定义发件人」(部分区域显示为「发件人地址」)选项,选择你在SES中已验证的邮箱地址
- 保存配置后,该主题发送的邮件将使用指定的发件人地址,发件人名称默认取邮箱关联的名称
方法二:API/CLI配置
使用AWS CLI更新订阅属性,指定自定义发件人地址:
aws sns set-subscription-attributes \ --subscription-arn "arn:aws:sns:region:account-id:topic-name:subscription-id" \ --attribute-name "DeliveryPolicy" \ --attribute-value '{ "email": { "emailSender": "你的已验证邮箱地址" } }'
或创建订阅时直接指定:
aws sns subscribe \ --topic-arn "arn:aws:sns:region:account-id:topic-name" \ --protocol email \ --notification-endpoint "recipient@example.com" \ --attributes '{ "DeliveryPolicy": "{\"email\": {\"emailSender\": \"notifications@yourdomain.com\"}}" }'
3. 单独自定义发件人显示名称
若需要独立于邮箱名称设置显示名称,可在SES中配置:
- 进入SES控制台的「已验证的身份」,选择目标邮箱或域名
- 点击「编辑身份」,在「显示名称」字段填写自定义名称(如「你的公司通知」)
- 保存后,SNS通过该身份发送的邮件会自动使用这个显示名称,收件方看到的发件人格式为
自定义名称 <your-email@yourdomain.com>
4. 使用自定义域名作为发件人后缀
若要让发件人域名显示为自身域名(避免AWS默认后缀),确保在SES中验证了整个域名,然后使用该域名下的邮箱地址作为SNS发件人即可,此时收件方看到的发件人域名就是你自己的域名。
注意事项
- 所有自定义发件人地址必须是SES已验证身份,否则SNS会拒绝发送或邮件被标记为垃圾邮件
- SES沙箱环境下,仅能发送邮件到已验证的收件人邮箱,需移出沙箱后才能发送到任意邮箱
内容的提问来源于stack exchange,提问作者Alphonsa John
相关产品推荐
相关产品推荐

