因此,在 SES 中 - 据我所知,有两种方法可以验证身份:
- 电子邮件身份
- 域标识
使用域名身份 - 可以更轻松地修复外发邮件中的“signed-by”和“mailed-by”标头。如果正确设置了 DKIM/SPF DNS 记录 - 它会运行良好。
但是对于电子邮件身份 - AWS SES 添加了类似“via amazonses.com”的内容。现在,我希望通过我的应用程序的品牌来解决这个问题。这样,当我的客户只想验证电子邮件身份而不是整个域时 - 他们可以通过我的应用程序发送电子邮件(并通过 SES 在后台发送电子邮件),但当电子邮件发出时 - 它应该将我的应用程序的品牌改为“via example.com”,而不是说“via amazonses.com”,作为电子邮件身份。
我怎样才能实现这个目标?:)
编辑:
- 有人验证了电子邮件身份 -[电子邮件保护]- 我希望它显示“via mydomain.com”,而不是“via amazonses.com”
- 有人验证了 clientdomain.com - 我希望它显示“signed-by: clientdomain.com”,并且“via....”将被删除
第二个很简单,我可以使用 SES 中的 EasyDKIM 实现,但我无法弄清楚如何实现第一个
答案1
为了成功实现这一点,我们必须验证我们想要在电子邮件身份的情况下签名的主要域。例如,mydomain.com 是域,我们验证了该域,包括在域中设置 MAIL FROM 域。
然后,我们继续验证我们想要发送的单个电子邮件身份,并使用 mydomain.com 进行签名。我使用了我的个人电子邮件,但在本例中,我们将使用[电子邮件保护]。
最后,我们必须在 PHP 中像这样调整 FROM 标头,然后才能适用于 SES 的 AWS PHP SDK并调用该sendRawEmail
方法
$message->setFrom('[email protected] via mydomain.xyz <[email protected]>');
最终的解决方案是 Gmail 的标头内容是:
from: [email protected] via mydomain.xyz <[email protected]>