在ESMTP功能中宣传STARTTLS的标准兼容方法是什么?

时间:2016-04-25 11:37:25

标签: smtp rfc

当我连接到SMTP服务器并发出EHLO(ESMTP)问候语时,某些服务器会响应:

250-STARTTLS

和其他服务器一样,回复:

250 STARTTLS 

哪个是对的? RFC 3207表明连字符是正确的。但RFC 2487表明不应该是连字符。他们都是正确的吗?当然,部署的代码通常优先于标准,但澄清这一点会很好。

作为一个随机样本,MessageLabs提供" 250 STARTTLS"而Hotmail / Outlook提供" 250-STARTTLS"。

1 个答案:

答案 0 :(得分:0)

答案在RFC 2821。它指定了以下内容:

  

通常,对EHLO的回复将是多行回复。每一行      响应包含一个关键字,并且可选地包含一个或多个      参数。遵循多行回复的常规语法,这些      关键字遵循代码(250)和连字符,除了最后一个      line,代码和最后一行的空格

因此RFC2487没有空格,因为它是示例SMTP会话的最后一行。 RFC3207带有连字符,因为它不是最后一行(这适用于我上面的Hotmail / Messagelabs示例)。