前言
前段时间,运营人员有反馈在钉钉邮箱收到我们服务的邮件的时候, 有显示一个代发
字样, 在问能不能去掉, 而且不仅仅是钉钉邮箱, 国内的 qq 邮箱, 163 邮箱,都会有这个 代发
提醒,类似于
看样子是显示 010001819d4f0433-21f905e9-ad1a-48a0-8177-9966cbc581a0-000000@amazonses.com 这个代发,跟我们实际的发送邮件的 发件人邮箱 no-reply@example.com 不是同一个域。
所以刚开始怀疑是因为这两个域不一样导致的
SES 自定义 mail from 域
可以在 SES 后台自定义这个发件人邮箱的 mail from 域,配置也很简单,这样子就配置好了
然后再发信测试一下, 发现这时候 mail from 域是变成 no-reply@example.com 了, 但是还是会有 代发
字样
这就有点奇怪了。 后面试了一下 gmail 信箱, 发现 gmail 的信箱是没有 代发
字样的
而 gmail 显示的信息,发送域和发件人是同一个域。
原因
后面我咨询了 aws 的技术人员并且提交了 case 工单,经由他们技术人员的解答以及我们自己的测试,发现出现 代发
字样的规则,国内和国外的邮件服务商的规则是不一样的
1. 国外的规则
对于国外的邮箱,比如 gmail 或者 outlook, 他们会去校验 DMARC 配置(包含 SPF 和 DKIM), 来验证邮件的合法性,如果验证正确,就不会有 代发
字样。
而我们的邮件是有设置 DMARC 配置(包含 SPF 和 DKIM)的, 具体可以看: 电子邮件欺诈防护之 SPF+DKIM+DMARC。 所以不会有 代发
字样, 这一点可以从邮件的原始内容看到
2. 国内的规则
不过国内的邮件厂商就不一样了,他们不校验 DMARC 的配置,而是只看邮件的 sender 地址和 From 地址是否一致, 如果不一致就会显示 代发
字样,来提示风险。
以 qq 邮箱的原始邮件为例, 可以看到他是只比较这两个
可以看到虽然后面的域都是 no-reply.example.com
, 但是 sender 的 ID 确实是不一样(基本上每次都会变), 所以是没办法完全一致的,所以就会显示 代发
字样, 这一点在他们的文档中也有说明。
163 邮箱的帮助中心其实也有
总结
虽然国内外的邮件服务商的规则不太一样,其实我们也不太需要过分担心, 因为只是显示代发
字样而已,并不会将你的邮件扔到垃圾邮件中。
如果你的邮件被扔到垃圾邮件,也不是 代发
的问题,而是邮件本身有问题,比如包含敏感词,或者被多人投诉等等。
所以显示代发
字样,其实并不会影响邮件服务商接收你的邮件。
很多国外大的厂商发送邮件到国内的邮件客户端也会有代发
字样,比如 hubspot
所以我们只需要将邮件的 mail from 域自定义成我们的域名就行了,如果用户有扔垃圾邮件的情况,就可以让他们信任我们整个域就可以了。