我正在尝试在远程机器上设置 TLS 电子邮件,但它不起作用。
尝试在我的本地机器上发送电子邮件(Windows 7 x64 区域设置 ru-ru):
16:33:18 CONNECT : Looking up host name mail.domain.com...
16:33:18 CONNECT : Host name mail.domain.com found
16:33:18 CONNECT : Connecting to host mail.domain.com [123.456.789.123:25]...
16:33:18 CONNECT : Connected to host mail.domain.com [123.456.789.123:25]
16:33:19 SMTP REPLY: 220 mail.domain.com ESMTP Postfix
16:33:19 SMTP SEND : EHLO hostname
16:33:19 SMTP REPLY: 250-mail.domain.com
16:33:19 SMTP REPLY: 250-PIPELINING
16:33:19 SMTP REPLY: 250-SIZE 73400320
16:33:19 SMTP REPLY: 250-VRFY
16:33:19 SMTP REPLY: 250-ETRN
16:33:19 SMTP REPLY: 250-STARTTLS
16:33:19 SMTP REPLY: 250-ENHANCEDSTATUSCODES
16:33:19 SMTP REPLY: 250-8BITMIME
16:33:19 SMTP REPLY: 250 DSN
16:33:19 SMTP SEND : STARTTLS
16:33:19 SMTP REPLY: 220 2.0.0 Ready to start TLS
全部正确。
然后,使用同一个电子邮件帐户,在远程机器上,所有设置完全相同(Windows XP Home 区域设置 ru-ru,但它实际上不是主站):
16:34:29 CONNECT : Looking up host name mail.domain.com...
16:34:29 CONNECT : Host name mail.domain.com found
16:34:29 CONNECT : Connecting to host mail.domain.com [123.456.789.123:25]...
16:34:30 CONNECT : Connected to host mail.domain.com [123.456.789.123:25]
16:34:30 SMTP REPLY: 220 ***************************
16:34:30 SMTP SEND : EHLO hostname
16:34:31 SMTP REPLY: 250-mail.domain.com
16:34:31 SMTP REPLY: 250-PIPELINING
16:34:31 SMTP REPLY: 250-SIZE 73400320
16:34:31 SMTP REPLY: 250-VRFY
16:34:31 SMTP REPLY: 250-ETRN
16:34:31 SMTP REPLY: 250-XXXXXXXA
16:34:31 SMTP REPLY: 250-ENHANCEDSTATUSCODES
16:34:31 SMTP REPLY: 250-8BITMIME
16:34:31 SMTP REPLY: 250 DSN
16:34:31 SMTP SEND : QUIT
16:34:32 SMTP REPLY: 221 2.0.0 Bye
16:34:32 DISCONNECT: Disconnected from server
如您所见,服务器关闭了连接。但是为什么本地机器上存在某种编码/解码问题?
PS Telnet 给出相同的结果:
SMTP REPLY: 220 ***************************
答案1
16:33:19 SMTP 回复:250-STARTTLS
16:34:31 SMTP 回复:250-XXXXXXXA
在我看来,有什么东西在操纵连接,因为它明确地用一些垃圾替换了服务器宣布的 STARTTLS 功能。这样,客户端就会认为 STARTTLS 不受支持,并经常会降级为纯文本,因此拦截程序/设备可以访问传输的邮件。
这种拦截可能是由本地病毒扫描程序完成的。但我见过酒店和公司的中央防火墙也会拦截 SMTP,以便它们能够进行垃圾邮件和恶意软件防护。