如何阻止 Exchange 2007 自动将纯文本电子邮件转换为 HTML?

如何阻止 Exchange 2007 自动将纯文本电子邮件转换为 HTML?

这个..不错.. Exchange 服务器将我的文本/纯文本消息从文本转换为 html 并将它们弄乱,只是因为它在正文的某处检测到了 html。

我怎样才能阻止他这样做?

编辑:我正在寻找服务器端修复 - 这会影响从应用程序服务器自动生成的电子邮件。这些消息是在 java 中显式生成的,

     message.setContent("This is a <span>Test</span>", "text/plain");

正如 mundeep 指出的那样。

我认为这并不重要,但消息是直接通过 Outlook 或通过 Exchange Web Access 检索的。(没有 pop/imap)

答案1

您没有提到如何检索消息,但我之前在 Exchange 2007 和 IMAP 检索中看到过这种情况(尽管我相信它也会影响 POP3)。

看一下此 Technet 文档,特别是ImapMessagesRetrievalMimeFormat开关。文档非常模糊,但 Exchange 可以强制从服务器检索消息的格式,无论是由用户(如链接所示)还是在服务本身上检索;在这种情况下,您可以使用Set-ImapSettingscommand, and change the MessageRetrievalMimeFormat option.

The current setting for the service on your host can either be seen using PowerShell using the following and looking for 'MessageRetrievalMimeFormat':

Get-ImapSettings | fl

或者你也可以使用 GUI:

  1. 展开‘服务器配置’
  2. 展开“客户端访问”
  3. 选择您要管理的服务器,然后选择“POP3 和 IMAP”选项卡
  4. 获取相应连接器的属性并检查“检索设置”选项卡。相关连接器的 MIME 格式可在此框顶部的“消息 MIME 格式”下拉框中查看/更改。

通过获取邮箱的属性并查看“邮箱功能”选项卡,可以对单个邮箱执行类似操作。

我无法告诉您哪种设置适合您的情况(因为文档非常模糊),但我的 Exchange 2007 安装将设置保留在“最佳正文格式”上。

答案2

您是否确定在发送消息时 MIME 类型明确设置为“text/plain”?

例如在.NET中你可以明确地将消息格式设置为纯文本或html例如:

msgMail.BodyFormat = MailFormat.Text;

在 Java 中你应该能够明确地发送纯文本消息通过将 MIME 类型设置为“text/plain”例如:

  MimeMessage message = new MimeMessage(mailSession);
  message.setSubject("Testing javamail plain");
  message.setContent("This is a test", "text/plain");

答案3

我在 2007 年 8 月 10 日的新闻组 microsoft.public.exchange.applications 主题中找到了不可靠的解决方法,但尚未测试。Mikhail Teterin 发现,可以将邮件分为两部分(纯文本和 HTML 部分)作为“multipart/mixed”而不是“multipart/alternative”发送。Exchange 服务器仍会将纯文本部分转换为 HTML,但由于聚合邮件的类型为“multipart/mixed”,因此它将保留 HTML 部分。

http://groups.google.com/group/microsoft.public.exchange.applications/browse_thread/thread/d87170330acbee62/

我看到了另一条建议“强制 Exchange 将消息保留为收到的 7 位 MIME 类型”以及 Oliver Moazzezi 在同一个主题中对 Microsoft 文章的引用,但我找不到他的建议的具体实施。

答案4

找到答案了吗?我遇到了类似的问题,并找到了以下信息:http://support.microsoft.com/kb/946641

显然,在 Exchange Server 2007 Service Pack 1 发布时,默认行为发生了变化。我还没有机会测试它,但希望它能解决您的问题。

相关内容