【发布时间】:2012-02-16 19:21:33
【问题描述】:
我编写了一个电子邮件客户端,并且不时注意到一些收到的邮件中的链接失败,因为 URL 中有两个点,而应该有一个点。
通过调查,我发现在所有这些情况下,两个点都位于一行可引用的可打印 HTML 的开头。
在阅读 RFC 2821 时,我发现这可能是由于点填充而发生的。我的问题基本上是,谁应该做点填充,谁应该删除它?
如果我们采用一个简单的序列,我们有如下:
A ----> B ----> C ----> D
其中 A 是发送客户端,B 是 A 向其发送邮件的 SMTP 服务器,C 是收件人的 SMTP 服务器,D 是接收客户端。
RFC 2821 似乎说如果一行以点开头,A 应该添加一个额外的点,而 B 应该删除它(这对我来说很有意义)。但是,我在实践中观察到的是,如果 A 忘记了,B 会添加一个点,否则什么也不做。到达 D 的邮件没有删除多余的点。我是否误解了 RFC,因此删除多余的点是 D 的工作吗?
【问题讨论】:
标签: smtp smtpclient