简介
本文档介绍在EHLO简单邮件传输协议(SMTP)命令中提供STARTTLS且服务器不符合RFC1869时,如何识别传输层安全(TLS)协商故障。
背景信息
使用有效证书在邮件安全设备(ESA)上启用TLS。目标服务器上启用了TLS,并且建立SMTP连接时会看到STARTTLS。
为什么STARTTLS可用时,从ESA到目标服务器的TLS协商会失败?
ESA尝试使用TLS连接到目标服务器,但TLS协商失败,在ESA的mail_logs/Message Tracking上出现此错误。
Info: DCID xxxxxx STARTTLS command not supported.
根据RFC1869,对EHLO的第一个响应应该是ehlo-ok-rsp,而ehlo-ok-rsp具有以下语法和顺序:
ehlo-ok-rsp ::= "250" domain [ SP greeting ] CR LF
/ ( "250-" domain [ SP greeting ] CR LF
*( "250-" ehlo-line CR LF )
"250" SP ehlo-line CR LF )
RFC语法错误SMTP会话示例
220 mail.domain1.com ESMTP Service ready
EHLO ESA.com
250-STARTTLS <--- 250-STARTTLS is before the server greeting.
250-mail.domain1.com <--- This is the 250 destination server greeting.
250-8BITMIME
250-PIPELINING
250-HELP
250-DELIVERBY 300
250 SIZE 30000000
这意味着ehlo-line(在本例中为250-mail.domain1.com)之前的所有内容都被视为问候语。因此,ESA不会认为可用250-STARTTLS命令,并且报告STARTTLS命令不受支持。请参阅https://tools.ietf.org/html/rfc1869以了解更多详细信息。
正确的RFC语法SMTP会话示例
220 mail-esa.com ESMTP
EHLO connecting.server.com
250-mail-esa.com <--- This is the 250 destination server greeting.
250-8BITMIME
250-SIZE 33554432
250 STARTTLS <--- STARTTLS is available after the greeting, it's not considered a greeting as per RFC.
相关信息