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

问题描述

我有一个转售商托管帐户,其中包含两个域。我们的一位客户最近一直抱怨未发送电子邮件。他们收到错误“超过550最大行长度(RFC 5322 2.1.1)”。

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

但是,我尝试与托管提供商联系,并尝试确定问题在体系结构级别上的确切位置以及如何预防。但是看来他们自己是一无所知(或者不想承认)。

遇到问题的客户使用非常特定的软件(Bouwsoft)来管理电子邮件并从中发送电子邮件。 Bouwsoft使用我们的经销商托管电子邮件服务器的IMAP设置来提取邮件并发送电子邮件。因此,一切都通过转售邮件服务器进行。

因此,主要问题归结为:托管服务提供商的邮件服务器的责任是将电子邮件中的长行拆分为不超过1000个字符,还是发送电子邮件的软件的责任?电子邮件(在此示例中为Bouwsoft)?

解决方法

电子邮件发件人有责任保持在RFC指定的限制内。邮件服务器本身可以宽容并乐于接受超出那些限制的内容,或者可以严格拒绝它们。

根据各种SMTP和与邮件相关的RFC的要求,邮件服务器不负责重写您的电子邮件。因此,作为电子邮件的发送者,您必须确保行长不超过998个字符的限制(建议的行长为76个字符!)。

我猜想最常用的SMTP库应该可以为您做到这一点(尽管它们通常要求在这么长的一行中至少有一些空格,才能达到998个字符才能断点),但是有可能您必须自己努力工作。