以大约 1000 个字符标记插入电子邮件中的感叹号

Rya*_*yan 9 smtp

有一个 .NET 程序,它使用 System.Net.Main 命名空间通过 SMTP 发送电子邮件。

它位于客户站点上,因此在到达目的地之前,它将通过(一系列?)SMTP 中继服务器。

目前我没有关于这个 smtp 重播/电子邮件基础设施的信息(并且获取这些信息将很困难)。

沿着这条线的某个地方,一个感叹号被插入到电子邮件的长 URL 中,从一行的开头开始大约 100 个字符。

编辑-实际上已经找到了大约 1000 个字符

这不会发生在测试系统或数百个其他站点上。

我确信这必须与转义码有关,以打破长队。

有人有任何想法吗?

sgm*_*ore 11

我自己被这个击中了。

如果您正在构建一个没有任何回车符的 html 消息,您可能会在 1000 个字符标记附近的某处出现错误。

解决方案是添加几个 \r\n 字符,以便每行小于 1000(如果不计算 \r\n 字符,则为 988)。

见第 2.1.1 节。RFC 2822 的行长限制了解更多详情:

2.1.1. 线长限制

该标准对一行中的字符数有两个限制。每行字符必须不超过 998 个字符,并且应该不超过 78 个字符,不包括 CRLF。