Exim 4.69 因语法无效的 EHLO(奇怪的伪 MAC FQDN)而拒绝出站邮件

Exim 4.69 因语法无效的 EHLO(奇怪的伪 MAC FQDN)而拒绝出站邮件

从昨天开始(新路由器,我怀疑是根本原因)客户端发送电子邮件时出现问题。接收正常,只是发送不断失败。

跟踪 Exim 的主日志,这是正在呈现的 EHLO,以及 Exim 将其踢回的原因:

2013-03-09 15:07:00 SMTP connection from host109-155-115-197.range109-155.btcentralplus.com (unknown-68:a8:6d:03:cf:6e.home) [109.155.115.197]:52877 

其次是

rejected EHLO from host109-155-115-197.range109-155.btcentralplus.com [109.155.115.197]:52848 I=[213.229.88.78]:587: syntactically invalid argument(s): unknown-68:a8:6d:03:cf:6e.home  

在 exim.conf 中添加冒号后helo_allowed_chars,邮件将按预期流动:

收到:来自 host109-155-115-197.range109-155.btcentralplus.com ([109.155.115.197]:52913 helo=unknown-68:a8:6d:03:cf:6e.home)

有问题的邮件客户端是 Mail.app,

Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
X-Mailer: Apple Mail (2.1499)

我想我的问题有三个:

  1. 为什么 BT Home Hub 会生成这些明显毫无意义的本地 FQDN?
  2. 为什么 OSX 会盲目接受任何旧的、奇怪的、不合规的本地主机名?
  3. 为什么 Mail.app 在发送外发电子邮件时会盲目接受这个奇怪的、不合规的本地主机名 - 即使它显然是非法的并且会无法通过 RFC 检查?
  4. 为什么我很少看到这个问题?这是我第一次听到有人说他们的外发电子邮件无法正常工作,而且我已经使用 Mail.app 在许多 Mac 上设置了电子邮件,所有这些 Mac 都在我打字时愉快地发送和接收邮件。(我可以在 Exim 中看到它们mainlog。)

寻找其他 BT Home Hub 流量,我可以看到使用 EHLO 看起来更标准化的传入连接:

2013-03-07 20:04:17 H=host81-156-4-96.range81-156.btcentralplus.com (BThomehub.home)

不知道这是 Mac 还是 PC 生成的,它来自外部

我正在将此服务器更新到最新的稳定版本,包括 Exim(目前运行的是 4.69)。我不想让这个 RFC 黑客留在 Exim conf 中,如果用户提供有效的凭据,一定有更简洁的方法来解决这个问题。

是否每个使用 Mac 的 BT 宽带客户实际上都遇到了与 Exim 辅助电子邮件相同的问题 - 而他们只是没有意识到这一点?在将 Mac 包含在环境中之前,我必须使用 Home Hub,我从未见过分配unknown-68:a8:6d:03:cf:6e.home给联网设备的伪 MAC 地址,我通常只见过将主机名映射到路由器 LAN 部分中的设备,它无法检测设备类型或主机名,因此只显示其 MAC 地址,并在前面和后面添加默认的垃圾信息。

更紧迫的是试图弄清楚为什么这些数据应该被呈现给邮件服务器,我不想再支持这种黑客行为了。我甚至不能保证它在 Exim 更新后还能正常工作,但我无意推迟服务器升级以支持不合规的客户端。

答案1

似乎有人不知为何没有为他们的 Mac 设置计算机名称。请尝试让客户端通过转到“系统偏好设置”然后“共享”来设置计算机名称。

答案2

阅读消息 #24http://business.forums.bt.com/t5/Email/email-on-Mac-problem-sending/td-p/46630/page/3消息 #26 也有一个稍微容易一些的测试/修复,其中他说:

将“计算机名称”更改为仅包含字母和数字 - 没有空格或标点符号/特殊字符

例如,我有“Ian 的 MacBook Air”,并将其更改为“iansmacbookair”

重启 Mac

SMTP 将迎来爆发式增长

然后他说你可以把它改回你想要的任何值,因为路由器只会尝试解析主机名一次。他没有说明这是否在路由器电源循环后仍然存在,但我敢打赌它不存在,所以每次路由器电源循环时你都必须重复一遍。对我来说,问题 #24 是更好、更合适、更长期的解决方案。

相关内容