我们使用LumiSoft.NET MIME 库来创建 EML 文件。这些 EML 文件由数据库值构成。电子邮件的正文可以是纯文本、RTF 或 HTML。我们知道正文何时是 HTML,因此,当发生这种情况时,我们的 EML 文件的内容类型使用以下行设置:
Content-Type: text/html; charset="utf-8"
当正文是纯文本或 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 文件附件中。如此奇怪的行为......这是它的一些截图。
展望快递:
展望 2010:
通过使用 RTF 作为内容类型,我们在这里做错了吗?它似乎在过去有效并与 Outlook Express 一起使用。建议使用 Redemption 而不是 EML 格式切换到 MSG 格式以缓解这种情况,但我相信这对 Outlook 或 MAPI 库的用户计算机提出了先决条件....但如果 EML 格式未解析不同的产品相同,那么也许味精格式是要走的路。