我目前在公司电子邮件服务器上遇到问题,Exim 将其服务器主机名附加到发件人电子邮件地址的末尾,尽管该电子邮件地址已经完全合格。
例如,用户从以下地址发送电子邮件:
the.sender@mycompany.co.uk
Run Code Online (Sandbox Code Playgroud)
Exim 正在将其更改为:
"the.sender@mycompany.co.uk"@corp-2.mycompany.co.uk
Run Code Online (Sandbox Code Playgroud)
这不再是有效的电子邮件地址,因此接收邮件服务器通常会拒绝该邮件,因为它无法验证发件人。
Exim 配置位于: http: //pastebin.com/4nS6T1Aw
虚拟交付 (exim -bh) 的 Exim 输出:http://pastebin.com/UTXC8RuR
从表面上看,引号中发生了一些奇怪的事情,我认为 Exim 自己绊倒了,但我对此感到摸不着头脑,希望得到任何帮助!
谢谢
在电子邮件的早期,电子邮件地址格式一般为user@hostname。通常,传递到邮件服务器的发件人只是用户名,邮件服务器会自动将其主机名附加到提供的用户名后。
在过去 15 年中,将邮件服务器配置为接受多个域(不仅仅是其主机名)的电子邮件变得更加常见,这通常称为“虚拟邮件”。当涉及到虚拟邮件时,邮件服务器必须弄清楚传递的参数何时只是本地用户名,或者是否是完整的电子邮件地址。当它不是完整的电子邮件地址时,您希望 Exim 附加主机名(或您指定的默认域),但如果它是电子邮件地址,您希望告诉 Exim 不要附加该主机名/域。
我的 MAIL acl 中有这个,它告诉 exim “保留发件人域”(这是一种迂回的方式,表示“域已提供,不要管它”)。
accept authenticated = *
control = submission/sender_retain
control = dkim_disable_verify
add_header = X-Authenticated-Sender: ${sender_address}
set acl_c_authenticated = 1
Run Code Online (Sandbox Code Playgroud)