You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Amazon SES发送邮件时,如何自定义发件人名称替换no-reply

如何在Amazon SES中自定义发件人名称

嘿,这个问题其实很好解决!你提到的X-SES-SOURCE-ARN只是用来指定SES验证过的身份ARN,和收件人看到的发件人名称完全没关系——真正控制显示名称的是邮件的From头字段。

核心解决思路

你只需要把邮件的From地址格式改成:

xxxx <no-reply@example.com>

这里的xxxx就是你想要的自定义发件人名称,<no-reply@example.com>是你已经验证过的SES身份邮箱(和你SOURCE ARN里的地址保持一致即可)。

不同发送方式的具体操作

1. 使用AWS SDK(以Python boto3为例)

如果是用SDK调用SES接口发送邮件,直接在Source参数里指定带名称的格式就行:

import boto3

ses_client = boto3.client('ses', region_name='us-west-2')

response = ses_client.send_email(
    Source='xxxx <no-reply@example.com>',  # 这里填入自定义名称+验证邮箱
    Destination={
        'ToAddresses': ['recipient@example.com']
    },
    Message={
        'Subject': {'Data': '自定义发件人测试'},
        'Body': {'Text': {'Data': '这是一封带自定义发件人名称的测试邮件'}}
    },
    # 保留原有的SOURCE ARN配置,无需修改
    Headers={
        'X-SES-SOURCE-ARN': 'arn:aws:ses:us-west-2:123456789012:identity/no-reply@example.com'
    }
)

2. 使用SMTP协议发送

如果是通过SMTP工具(比如PHPMailer、Postfix等)发送,直接在From字段里设置名称+邮箱即可。比如PHPMailer的示例:

$mail->setFrom('no-reply@example.com', 'xxxx');

这里第二个参数就是你要的自定义发件人名称。

注意事项

  • 确保no-reply@example.com已经在SES中完成身份验证(你已经有对应的SOURCE ARN,这一步应该没问题)
  • 自定义名称里尽量避免特殊字符,若需要使用空格或符号,大部分邮件客户端会自动处理编码,但保持简洁更稳妥
  • X-SES-SOURCE-ARN不需要修改,它的作用是关联你验证过的SES身份,防止未经授权的发送,和显示名称无关

内容的提问来源于stack exchange,提问作者Tamil Selvan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:46:10