可以安全使用的电子邮件中URL的最大长度是多少?

6
我的网站会发送一封带有链接的电子邮件。最近我们收到了很多错误的提示,表明我们发送的电子邮件中的URL被某种方式弄乱了。不幸的是,我们没有任何日志可以显示他们尝试访问的确切URL。我已经排除了许多可能性(错误数据,错误的URL编码等),我唯一没有排除的是,也许URL被用户的电子邮件客户端截断了。对于每个用户,URL略有不同,但通常URL的长度为210-220个字符。
我的问题是:作为经验法则,在电子邮件客户端中可以安全发送的最大URL长度是多少,以确保一致的行为?
更新:
我知道SO上有许多与最大URL长度相关的问题,但我的问题特定于电子邮件客户端中的超链接,我找不到相关信息。

如果你的用户能够向你转发一个“乱码”的URL示例,那么解决这个特定问题可能会更容易,对吧? - summea
肯定会的。不幸的是,这个特定的错误被处理得对用户来说是透明的。我们只有在记录错误发生时才意识到出现了这个问题。对于这种情况,日志记录做得有些糟糕,所以我们真正拥有的唯一信息就是发生了一个错误。如果这有帮助的话,URL 在末尾包含一个星号分隔的字符串。我们将该字符串解析为数组。我们在错误日志中看到的是一个数组越界异常。 - aamiri
哦,你们用什么编程语言来做这个? - summea
这些电子邮件是HTML格式的。我已经排除了后端作为问题的原因。 - aamiri
看起来有类似的问题。我们的链接被截断了。它们无法缩短,因为它们编码了安全令牌。唉,我真是太倒霉了。 - ta.speot.is
1个回答

4
好的样式建议适用于普通文本电子邮件 [URL长度<=推荐行长度]
URL应该适合单行,单个电子邮件行应为78个字符(至少减去两个字符以便在回复中引用)。

https://www.rfc-editor.org/rfc/rfc5322.txt

2.1.1. 行长度限制 对于一行字符数量,该规范设置了两个限制。每行字符数不能超过998个,并且应尽量不超过78个字符(不包括回车换行符)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接