电子邮件中的乱码html

时间:2008-12-29 21:43:37

标签: html email formatting

html电子邮件是否有某种格式化协议?我们有一个通过电子邮件发送报告的自动化系统,当我查看源代码时,我看到它们由行长度分隔,并且“=”打破了该行。也就是说,我得到类似的东西:

<html><body>some text some text some text some=
some text some text some text some text som<ta=
ble>some text some text some text some text <t=
r><td...

有没有人有关于这是什么的更多信息?

4 个答案:

答案 0 :(得分:6)

您必须将邮件发送为multi-part MIME。最佳做法是:

  • 总是以这种方式为不支持HTML的邮件客户端发送HTML和纯文本版本,或者某些人只是关闭电子邮件中的HTML(尽管许多客户端不会自动生成安全/垃圾邮件。 - 无论如何,从不受信任的站点下载图像);
  • 图片可以包含在邮件中,而不是直接链接。直接链接节省带宽但是垃圾邮件甚至是安全问题(例如Internet Explorer had a buffer overrun bug with PNG images)。嵌入的图像是带有cid值的引用;和
  • 仅使用最基本的HTML。浏览器HTML支持从原始到奇怪不等。当我调查这样做时,我们无法在我们调查的少数邮件客户端上获得一致(或甚至可接受的不同)外观和感觉,从而导致我们将报告作为附加PDF格式发送,这些PDF格式在很多方面都是如此。最好(一个人可以轻松保存)。

对于您的乱码消息,它在我看来您的消息未被正确识别为HTML,因此邮件客户端将文本行包裹在70个左右的字符。

答案 1 :(得分:2)

您的邮件正在以某种方式翻译为"quoted printable"编码。这可能是您正在创建的邮件标题的问题。

答案 2 :(得分:0)

看起来它可以引用 - 可打印。 如何在HTML外观中等于符号,它们是否被= 3E?

取代

从技术上讲,这没有任何问题,但包含备用纯文本会很好, 对于那些不想或不想阅读HTML邮件的人(像我一样)。

答案 3 :(得分:0)

电子邮件RFC强制执行行长度限制,特别是每行不应超过78个字符,不包括CRLF。每行末尾的相等符号只是一个行分隔符,任何支持HTML的电子邮件阅读器都可以正确解析,只要有必要的标题(Content-Text:text / html)。可以在here找到有关电子邮件约定中HTML的更多详细信息。