SMTP协议中如何发送单独圆点?避免与邮件结束标记混淆
SMTP协议中避免单独圆点被误判为结束标记的方法
SMTP协议规定,在使用DATA命令发送邮件内容时,**单独占据一行的单个圆点(.)**会被当作邮件正文结束的标记,直接发送会导致后续内容被截断,或是服务器提前终止数据传输。
解决方法很直接:
- 发送邮件时,对正文里所有单独一行的单个圆点做转义处理——在这个圆点前再追加一个圆点,也就是把原本的
.\r\n(单独一行的点)替换成..\r\n - 接收端的SMTP服务器会自动识别这种转义格式,把
..还原回单个.,收件人看到的内容和你原本编辑的完全一致
举个实际例子:
如果你的邮件正文里有这么一段:
下面是单独一行的点:
.
以上就是示例内容
转义后需要变成:
下面是单独一行的点:
..
以上就是示例内容
这样服务器就不会把那个单独的点当成结束标记,能完整传输所有内容。
内容的提问来源于stack exchange,提问作者mary
相关产品推荐
相关产品推荐

