AWS SES 发送邮件出现的代发字样问题

前言

前段时间,运营人员有反馈在钉钉邮箱收到我们服务的邮件的时候, 有显示一个代发 字样, 在问能不能去掉, 而且不仅仅是钉钉邮箱, 国内的 qq 邮箱, 163 邮箱,都会有这个 代发 提醒,类似于

1

看样子是显示 010001819d4f0433-21f905e9-ad1a-48a0-8177-9966cbc581a0-000000@amazonses.com 这个代发,跟我们实际的发送邮件的 发件人邮箱 no-reply@example.com 不是同一个域。

所以刚开始怀疑是因为这两个域不一样导致的

SES 自定义 mail from 域

可以在 SES 后台自定义这个发件人邮箱的 mail from 域,配置也很简单,这样子就配置好了

1

然后再发信测试一下, 发现这时候 mail from 域是变成 no-reply@example.com 了, 但是还是会有 代发 字样

1

这就有点奇怪了。 后面试了一下 gmail 信箱, 发现 gmail 的信箱是没有 代发 字样的

1

而 gmail 显示的信息,发送域和发件人是同一个域。

原因

后面我咨询了 aws 的技术人员并且提交了 case 工单,经由他们技术人员的解答以及我们自己的测试,发现出现 代发 字样的规则,国内和国外的邮件服务商的规则是不一样的

1. 国外的规则

对于国外的邮箱,比如 gmail 或者 outlook, 他们会去校验 DMARC 配置(包含 SPF 和 DKIM), 来验证邮件的合法性,如果验证正确,就不会有 代发 字样。

而我们的邮件是有设置 DMARC 配置(包含 SPF 和 DKIM)的, 具体可以看: 电子邮件欺诈防护之 SPF+DKIM+DMARC。 所以不会有 代发 字样, 这一点可以从邮件的原始内容看到

1

2. 国内的规则

不过国内的邮件厂商就不一样了,他们不校验 DMARC 的配置,而是只看邮件的 sender 地址和 From 地址是否一致, 如果不一致就会显示 代发 字样,来提示风险。

以 qq 邮箱的原始邮件为例, 可以看到他是只比较这两个

1

可以看到虽然后面的域都是 no-reply.example.com, 但是 sender 的 ID 确实是不一样(基本上每次都会变), 所以是没办法完全一致的,所以就会显示 代发 字样, 这一点在他们的文档中也有说明。

1

163 邮箱的帮助中心其实也有

1

总结

虽然国内外的邮件服务商的规则不太一样,其实我们也不太需要过分担心, 因为只是显示代发 字样而已,并不会将你的邮件扔到垃圾邮件中。

如果你的邮件被扔到垃圾邮件,也不是 代发 的问题,而是邮件本身有问题,比如包含敏感词,或者被多人投诉等等。

所以显示代发 字样,其实并不会影响邮件服务商接收你的邮件。

很多国外大的厂商发送邮件到国内的邮件客户端也会有代发 字样,比如 hubspot

1

所以我们只需要将邮件的 mail from 域自定义成我们的域名就行了,如果用户有扔垃圾邮件的情况,就可以让他们信任我们整个域就可以了。