我有 SMTP 解析器,它工作得很好。从第三方软件接收流量时出现问题,该软件将双换行符发送为“\r\n\r”(没有第二个“\n”)。目前,此类连接被终止为不兼容的 SMTP。有人可以解释一下 RFC 对这种“有趣”的双换行符到底是怎么说的吗?我可以假设发送这样的数据的软件做错了什么吗?
问问题
4475 次
2 回答
6
RFC2821。第 2.3.7 节:
SMTP 命令和消息
数据(除非被服务扩展更改)以“行”的形式传输。行由零个或多个数据
字符组成,以序列 ASCII 字符“CR”(十六进制值 0D)结尾,紧接着是 ASCII 字符“LF”(十六进制值 0A)。
http://www.ietf.org/rfc/rfc2821.txt
——戴夫
于 2011-05-29T15:02:22.563 回答
-2
各种操作系统对换行符有不同的表示。在此处查看有关换行符的说明。. 顺便说一句,程序员之间的一种常见做法是同时使用\n
和\r
来防止系统上的任何冲突。您需要检查您的系统支持哪个换行符。如果是\r
,那么您将获得所需的两个字符。但如果是\n
,则错误在于发件人。
于 2011-05-29T09:59:19.383 回答