我配置了 postfix 来转发邮件到外部地址(主要是 GMail):
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected], [email protected], ...
...
一切正常,除了当我从我的[电子邮件保护]GMail 帐户[电子邮件保护],它会被转发(日志中显示 250 OK),但永远不会出现在 GMail 中。这可能不是常见的情况,但从我的 GMail 帐户发送邮件到[电子邮件保护]或者把自己放在抄送中。我只是不喜欢我的消息毫无错误迹象地丢失。
我计划为其他几个用户配置转发,我相信每个人都会先通过向自己发送邮件来测试它(然后告诉我,它不起作用)。
这个问题已在之前的文章中讨论过:
- 有人能证实这种行为的原因吗?
- 是否有人知道其他邮件提供商如何处理它(到目前为止我只用 GMail 测试过它)。
- 有什么解决方法的建议吗?
我知道 postfix 可以重写邮件头。在这种情况下,我是否可以只更改发件人地址(改为类似[电子邮件保护]) 以防止 GMail 忽略该邮件。
答案1
重要提示:千万不要这么做。用不了多久,你就会遇到这种情况:
我曾经遇到过这种情况。公平地说,他们无法确定你不是垃圾邮件的真正发件人。Received
邮件中会有一堆额外的标题,但你可以伪造它们。
另一件事:GMail 执行的 SPF 检查将失败。有人从(例如)发送邮件serverfault.com
,您将其转发到 GMail,GMail 检查serverfault.com
的 SPF 记录以查看您的邮件服务器是否被允许向该域发送邮件,如果发现不允许,则会将您的邮件丢弃。
正确的做法是将邮件保存在本地,然后让 GMail 通过 POP 接收。这样 GMail 就知道您不是原始发件人,不会以相同的方式应用垃圾邮件检查,也不会出现 SPF 的相同问题。
答案2
这实际上是 Gmail 的一项功能,从 GMail 发送的邮件如果以某种方式转发回发送帐户,则被视为重复邮件,不会显示在收件箱中。我认为没有任何地方记录过这一点,但似乎在Gmail 支持论坛。
答案3
我正在尝试做一些类似的事情,现在还没有解决方案,但也许我的研究可以帮到你。
在我开始决定我的邮件服务器如何进行邮件转发之前,我认为最好先看看大型邮件提供商如何实现邮件转发。
例如,gmail 以一种非常特殊的方式更改发件人(来自信封):
在 postfix mail.log 中您只能看到信封信息(RCPT TO、MAIL FROM)。
邮件已发送到包含该地址的 Gmail 帐户[电子邮件保护]转发至该用户的 gmx 地址[电子邮件保护]使用发件人地址
postfix/qmgr[740]: 123EBA6885: from=<[email protected]>, size=4986, nrcpt=1 (queue active)
接收邮件服务器可以看到该邮件是从允许向具有该地址的用户发送邮件的主机发送的[电子邮件保护]。加号以编码形式分隔真实发件人。[这种邮件扩展名可以在 Postfix 的 main.cf 中的 Recipient_delimiter 中定义]
这样,接收邮件服务器不仅可以看到发件人主机被允许发送这封邮件,而且另一方面可以评估原始发件人并将其与邮件头“发件人”进行比较。
如果发件人标题和信封发件人(邮件发件人)不同,某些邮件服务器就会出现问题。
如果有人知道 Postfix 如何进行这样的转发,我很想知道。
问候
马丁