邮件错误 550 超出最大行长度 (RFC 5322 2.1.1)

Mail error 550 Maximum line length exceeded (RFC 5322 2.1.1)

我有一个包含几个域的经销商托管帐户。我们的一位客户最近一直在抱怨没有发送电子邮件。他们收到错误“550 超出最大行长度 (RFC 5322 2.1.1)”。

谷歌搜索后发现最大长度只能包含 998 个字符(+ 换行符)。在检查电子邮件的 .eml 文件后,我可以找到两行,每行包含超过 1000 个字符。所以确实,这就是问题所在。

不过,我已尝试联系我的托管服务提供商并尝试确定问题在架构级别上的确切位置以及如何预防。但他们自己似乎完全一无所知(或者不想承认)。

我们的客户遇到了问题,他们使用非常特殊的软件 (Bouwsoft) 管理电子邮件并从中发送电子邮件。 Bouwsoft 使用我们的经销商托管电子邮件服务器的 IMAP 设置来提取邮件和发送电子邮件。所以一切都通过经销商邮件服务器。

所以主要问题归结为:我们托管服务提供商的邮件服务器是否有责任将电子邮件中的长行拆分为不超过 1000 个字符,或者这是软件的责任发送电子邮件(本例中为 Bouwsoft)?

电子邮件发件人有责任保持在 RFC 指定的限制范围内。邮件服务器本身可以宽容并愉快地接受超过这些限制的东西,或者它们可以严格并拒绝。

邮件服务器不负责重写您的电子邮件以符合各种 SMTP 和 mail-related RFC 的要求。因此,作为电子邮件的发件人,您必须确保您的行长度不超过 998 个字符的限制(建议 line-length 为 76 个字符!)。

我想最常用的 SMTP 库应该能够为您执行此操作(尽管它们通常要求在达到 998 个字符之前在这么长的行中至少有一些空格才能断点),但可能你必须自己做艰苦的工作。