我正在尝试调试家用机器上的电子邮件发送问题,可能是与路由器相关的问题。这是在 Debian squeeze 上使用 Exim 4.72-6+squeeze3(此版本的默认 Exim 4 Debian 软件包)。
我收到一个Relaying denied. Proper authentication required
错误。
合理的第一步是确定我的 Exim 4 客户端当前尝试使用哪个端口。然而,这似乎出乎意料地难以找出。
Debian 文档告诉我,Debian Exim 会尝试使用 TLS(如果可用),但我也不知道如何确认。以下是我的 Exim 客户端日志(/var/log/exim4/mainlog
)中的一个示例,当时邮件发送仍在进行中。
2013-04-28 15:04:30 1UWNzx-00084Y-EO => [email protected] R=smarthost T=remote_smtp_smarthost H=email32.luxsci.com [
64.39.7.160] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="serialNumber=OeuJg-G-8alU-6KqWL5z-WwlWFVKQgwj,C=US,ST=Massachusetts,L=Dedham,O=Lux
Scientiae,OU=Secure Services,CN=*.luxsci.com"
这是否TLS1
意味着正在使用 TLS,还是只是一个无意义的字符串?假设它正在使用 TLS,那么这表明正在使用端口 465,因为这显然是默认端口。但我如何确认这一切?
这是当前失败的邮件发送版本。
2013-05-05 22:11:28 1UZ0OM-0003SM-6Z ** [email protected] R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after RCPT
TO:<[email protected]
>: host secure-email-32.luxsci.com [64.39.7.160]: 550 5.7.1 <[email protected]>... Relaying denied. Proper authentication required.
答案1
您可能需要添加一条日志行来显示端口实际上使用期间这非常有联系。类似于(不确定你是否真的需要这个条件)
warn condition = yes
log_message = Port: $received_port
在你的 check_helo acl 的开头。
答案2
看来
1)你的 exim 通过智能主机发送外发电子邮件
2)智能主机拒绝在没有 SMTP AUTH 的情况下中继(接受进一步发送)
您的 Exim(默认情况下)应使用端口 25。secure-email-32.luxsci.com
提供 ESMTP 协议的 STARTTLS 扩展 => 您的 MTA/exim 可以将未加密的 SMTP 连接转换为加密连接(相同的 TCP 连接)。secure
-email-32.luxsci.com 仅提供 SMTP AUTH(LOGIN 和 PLAIN)的“纯文本”方法,因此您的 exim应该在 STARTTLS 命令之后使用它们