我管理着一堆邮件服务器,MX 是 postfix+amavisd-new 系统,而邮箱位于 qmail+vpopmail 邮箱中。是的,我们已经计划将所有内容移至 postfix,但那是另一个故事(而且很长) :)
最近,我开始看到一些进入我系统的邮件带有一行“ delivered-to
”(实际上是小写!),其中包含收件人地址。我的 qmail 系统看到这些标题并退回邮件,认为它正在循环(我 110% 确定它没有循环)。
这些标题与我的“ ”行相差甚远Received:
,似乎发送方的 LAN 上有某种 SMTP 服务器(实际上可能是一个透明的 smtp 代理?)添加了这些行。
我做了一些调查,据我所知,Delivered-To
它没有被任何 RFC 正式涵盖,但它是用于防止邮件循环的事实标准。因此,除了实际将邮件发送到收件人邮箱的服务器之外,其他任何服务器都不应添加它。这也被涵盖了在 StackOverflow 上。
如果这是正确的,那么我收到的那些标题应该被视为添加它们的系统的一个错误。
谁说得对?我可以告诉用户这是发送网站上的一个错误,并继续执行此政策吗?还是我应该尝试采取一些措施让这些邮件进入?
编辑:澄清一下,我只关心包含Delivered-To
标题的来信,标题中的电子邮件地址实际上托管在我的系统上。也就是说,我的系统是该地址的“权威邮箱”。
编辑 2:我做了更多调查,据我所知,这些标头是由发件人一方的某些 SMTP 服务添加的。它是那些一体化 Linux 设备之一,既可以充当内部 SMTP(实际上由其 MUA 使用),也可以充当透明 SMTP(其 MUA 认为他们正在与外部服务器通信,但 25/tcp 流量被拦截)。
答案1
这是有效的电子邮件吗?还是试图利用已送达的“退回”?是否像描述的那样这里。
概括:
请注意,投递地址与 Delivered-To 地址相同。接下来,postfix 接受该邮件,将其视为本地邮件并发送给现有用户,然后它立即看到 Delivered-To 标头,并确定存在邮件转发循环,并将该邮件反弹到伪造的发件人地址。
否则,听起来就像邮件链中的某个人错误地添加了已送达邮件头。通常,我建议采用典型的“大方接受”方法,但在这种情况下,这样做可能会导致邮件循环,而邮件头就是为了避免这种情况而设置的。我会先检查一下这是否是更危险的事情,如果是真的,我会告诉你的用户这是发送网站上的一个错误(可能是邮件被一个没有删除现有已送达地址的工具转发,即转发了已经送达的邮件)。
答案2
每次将电子邮件发送到邮箱时,都应添加标Delivered-To
头。这种情况当然可以多次发生。例如,如果将电子邮件[email protected]
转发给[email protected]
,则example.com
邮件服务器应添加标头以避免转发循环。显然,这并不意味着它已发送到。Delivered-to: [email protected]
[email protected]
因此,其他网站可能也有正当理由添加Delivered-to
标头来防止自己的循环。并且您应该认为这些标头的内容是不透明的,因为一般来说,您无法知道它们应该或不应该在“路径上”发送到哪些电子邮件地址。