我最近开始关注一个邮件系统,用户可以在其中使用 Web 邮件前端来托管他们的电子邮件。提供的功能之一是设置转发的功能。
我面临的问题以及我之前的人都面临过的问题是,当用户将邮件转发到另一个邮箱(例如他们自己的 gmail 地址)时,Google 会将电子邮件视为来自未经授权的 IP 地址。
我知道这是因为发件人域设置了带有“-all”标志的 SPF 记录,而我的 IP 地址显然不属于那里。
据我了解,Gmail 和其他提供商无法区分实际转发的邮件和欺骗性垃圾邮件之间的区别,然后将我的服务器地址列入灰名单。
我不禁认为其他人之前一定已经解决了这个问题。
转发是使用 exim 完成的,因此我正在寻找的是指南,甚至只是用于搜索的正确关键字,以找到此问题的答案。
之前确实有人解决过这个问题,并且“除了更新发件人域中的SPF之外别无他法”是不正确的。
答案是 SRS,Sender Rewriting Scheme:http ://www.open-spf.org/SRS/和https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme。
如果您可以控制进行转发的邮件服务器,那么原则上您可以实施 SRS。(参见带有 SRS 守护进程的 exim4 配置)
不幸的是,反过来看,当设置为转发时,Google 本身并没有实施 SRS,因此您的电子邮件服务器会拒绝来自严格 SPF 发件人的电子邮件,该发件人通过 GMail 或 Google Workspace 转发给您。在这种情况下,您可以对带有 X-Gm-Original-To 标头的邮件进行例外处理,但这会破坏 SPF 的意图:如果经常这样做,那么伪造者只会添加该标头。