我在向某一特定电子邮件提供商发送电子邮件时遇到问题。我的邮件系统不断收到: #5.0.0 SMTP; 5.1.0 - 未知地址错误 530-'#5.7.0 必须首先发出 STARTTLS 命令'(传送尝试:0)> #SMTP#
当我尝试通过 telnet 连接到第一个 MX 记录时,我得到:
Connected to 46.255.225.8
Escape character is '^]'.
220 ***************************
EHLO testme
250-xxx.xxx.xx
250-8BITMIME
250-SIZE 52428800
250 XXXXXXXA
MAIL FROM "[email protected]"
530 #5.7.0 Must issue a STARTTLS command first
STARTTLS
500 #5.5.1 command not recognized
但是当我尝试时
openssl s_client -starttls smtp -ign_eof -crlf -connect 46.255.225.8:587
我超时(或者在没有连接的情况下无限等待),如果我尝试端口 25,它会失败,因为“不支持安全重新协商”。
但是,当我在线尝试 MXtoolbox 测试 smtp 服务器时,它可以从他们的部分开始工作: 连接到 46.255.225.8
220 antispam111.centrum.cz ESMTP [270 ms]
EHLO keeper-us-east-1d.mxtoolbox.com
250-antispam111.centrum.cz
250-8BITMIME
250-SIZE 52428800
250 STARTTLS [222 ms]
MAIL FROM:<[email protected]>
250 sender <[email protected]> ok [260 ms]
RCPT TO:<[email protected]>
550 #5.1.0 Address rejected. [220 ms]
最后,如果我使用
smtp.centrum.cz
代替上面的 MX ip,那么从我的机器上通过 telnet 一切都可以正常工作。我做错了什么以及如何解决它的任何提示?
250 XXXXXXXA
此行表明邮件服务器路径中间的某个人尝试通过从服务器对 EHLO 的响应中“删除”支持 STARTTLS 的指示来禁用 TLS。例如,这是 Cisco ASA 的已知行为。这样做是为了让客户端使用纯 TCP(无加密)来分析安全网关提交的任何邮件。
由于服务器不允许任何没有 TLS 的提交,这基本上使得从此类安全网关后面访问时该服务器无法使用。您在代码中对此无能为力。请咨询您的网络管理员这是否是预期的行为。