简介
本文档介绍如何在EHLO简单邮件传输协议(SMTP)命令中使用STARTTLS且服务器不符合RFC1869时识别传输层安全(TLS)协商故障。
背景信息
使用有效证书在邮件安全设备(ESA)上启用TLS。TLS已在目标服务器上启用,建立SMTP连接时会看到STARTTLS。
为什么从ESA到目标服务器的TLS协商会失败,尽管STARTTLS可用?
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.
相关信息