这.. 不错.. 交换服务器将我的文本/纯文本消息从文本转换为 html 并将它们弄乱,只是因为它在正文中的某处检测到 html。
我怎样才能阻止他这样做?
编辑:我正在寻找服务器端修复程序 - 这会影响从应用程序服务器自动生成的电子邮件。消息是在java中显式生成的
message.setContent("This is a <span>Test</span>", "text/plain");
就像 mundeep 指出的那样。
我认为没关系,但这些消息是通过 Outlook 直接或通过 Exchange Web 访问检索的。(没有弹出/ imap)
您没有提到邮件是如何被检索的,但我以前在 Exchange 2007 和 IMAP 检索中看到过这种情况(尽管我相信它也会影响 POP3)。
看看这个 Technet 文档,特别是
ImapMessagesRetrievalMimeFormat
交换机。文档非常模糊,但 Exchange 可以强制用户(如链接所示)或服务本身从服务器检索消息的格式;在这种情况下,您将使用Set-ImapSettings
command, 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
':或者,您可以使用 GUI:
通过获取邮箱的属性并查看“邮箱功能”选项卡,可以对单个邮箱执行类似的操作。
我无法告诉您哪种设置适合您的情况(因为文档含糊不清),但我的 Exchange 2007 安装保留了“最佳正文格式”的设置。
您确定在发送消息时将 MIME 类型明确设置为“text/plain”吗?
例如,在 .NET 中,您可以将消息格式显式设置为纯文本或 html,例如:
在 java 中,您应该能够通过将 MIME 类型设置为“text/plain”来显式发送纯文本消息,例如:
我在 2007 年 8 月 10 日新闻组 microsoft.public.exchange.applications 的线程中发现了一个弱解决方法,但尚未对其进行测试。Mikhail Teterin 发现可以将消息分为两部分,即纯文本和 HTML 片段作为“多部分/混合”,而不是“多部分/替代”。Exchange 服务器仍会将纯文本部分转换为 HTML,但由于聚合消息的类型为“多部分/混合”,它将保留 HTML 部分。
http://groups.google.com/group/microsoft.public.exchange.applications/browse_thread/thread/d87170330acbee62/
我看到另一个建议“强制 Exchange 将消息保留为收到的 7 位 MIME 类型”,并在 Oliver Moazzezi 的同一线程中引用了 Microsoft 文章,但我找不到他建议的确切实现。
曾经找到答案吗?我遇到了类似的问题并找到了这个:http: //support.microsoft.com/kb/946641
显然,当 Exchange Server 2007 Service Pack 1 发布时,默认行为发生了变化。我还没有机会测试它,但希望它能解决你的问题。