【问题标题】:550 Maximum line length exceeded on CSS or attachments550 超出 CSS 或附件的最大行长度
【发布时间】:2016-10-16 17:05:35
【问题描述】:

我正在使用 Mailgun 发送电子邮件。该邮件有一个简短的主题(11 个字符)、一个最大行长为 115 个字符的正文和一个 PDF 附件。 我从 Mailgun 收到一些错误(在很少的电子邮件中),消息是:“超过 550 最大行长度(请参阅 RFC 5322 2.1.1)。” RFC 5322, 2.1.1 规定最大行长度为 998 个字符,不包括 CRLF。

由于我的电子邮件的最长行比这短得多,这个问题是否可能是由标题、CSS 规则或附件引起的?

【问题讨论】:

    标签: email html-email email-attachments mailgun


    【解决方案1】:

    附件应该没有问题。如果你有 css,那么我怀疑你也有 html body。我会检查那里和正文中的行长。也许某处缺少换行符。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的错误,我想做一个更明确的回答:CSS是算在行长限制中的,所以如果你有很多没有换行的CSS,就会导致这个错误。

      【讨论】:

        【解决方案3】:

        服务器每行只允许这么多(550 或 980)个字符。当没有换行符时,所有的 HTML 都被计为一行。

        所以简单的解决方案是在电子邮件正文中添加几个换行符。 即在消息正文中添加了一些 \r\n。

        【讨论】:

        • 尝试用一些文档来支持你的答案。这样 OP 就可以了解/阅读更多关于他做错了什么或出了什么问题的信息。
        【解决方案4】:

        当我包含在原始电子邮件中的附件(以 base64 编码)长度超过 998 个字符时,我遇到了这个问题。正如错误所暗示的,这是由于RFC5322 section 2.1.1

        我通过将 base64 分成每行 1000 个字符(即 998 + \r\n)来解决它。 PHP 有一个函数叫做chunk_split,类似的事情可以在JavaScript 中用regex implementation of chunk_split 完成

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-09
          • 1970-01-01
          • 2011-04-20
          • 2015-11-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多