【发布时间】:2011-10-05 08:51:56
【问题描述】:
我们使用LumiSoft.NET MIME library 创建 EML 文件。这些 EML 文件由数据库值构成。电子邮件的正文可以是纯文本、RTF 或 HTML。我们知道正文何时是 HTML,因此,当发生这种情况时,我们的 EML 文件的内容类型使用以下行设置:
Content-Type: text/html; charset="utf-8"
当body是纯文本或者RTF时(因为我们不知道是哪一个),我们就这样设置content-type为RTF
Content-Type: text/rtf; charset="utf-8".
HTML EML 文件在不同的产品中显示得很好……但不同产品对 RTF EML 文件的解释似乎不同。这工作了多年,我们生成的 EML 文件针对 Outlook Express 进行了 QA,并且它们正常显示。但最近我们有一些客户报告了这些电子邮件以附件形式显示的问题。在 Outlook 2007 SP2 和 Outlook 2010 中,电子邮件正文确实显示为附加到电子邮件的 TXT 文件......并且电子邮件本身的正文是空的。此外,我们使用名为 dtSearch 的产品,当它将这些 EML 文件转换为 HTML 时,它会执行类似的转换,其中 EML 文件的主体显示在名为 Attachment0.DAT 的附件的内容中。此外,我们还通过 Outlook Redemption 处理这些 EML 文件,并且与 Outlook 2010 一样,邮件正文位于 TXT 文件附件中。如此奇怪的行为……这是它的一些截图。
Outlook Express:
展望 2010:
我们在这里使用 RTF 作为内容类型是不是做错了什么?它似乎在过去有效并与 Outlook Express 一起使用。建议使用 Redemption 而不是 EML 格式切换到 MSG 格式以缓解这种情况,但我相信这对 Outlook 或 MAPI 库的用户计算机提出了先决条件....但如果 EML 格式未解析不同的产品都一样,那么也许MSG格式是要走的路。
【问题讨论】: