前言
如果您使用非微软的 Outlook 客户端,接收发件人从 Outlook 或 Exchange 组织发送过来的邮件时,有可能会收到带一个 winmail.dat
附件的邮件;这是因为对方发送邮件时,其富文本的邮件内容被采用了微软独家的 TNEF 格式编码(可能发生在发件人的 MUA 也可能是在发件方的 Exchange 服务器上进行的,取决于对方邮件服务器和用户 MUA 的设定)因此在不支持 TNEF 格式解码的 MUA(邮件用户端代理-邮件客户端)中,将无法正确解析 TNEF 格式的内容,因此就直接显示为原始的 winmail.dat
附件;
TNEF,也称为传输中性封装格式、Outlook 富文本格式或 Exchange 富文本格式,是一种 Microsoft 特定的格式,用于封装 MAPI 邮件属性。所有版本的 Outlook 都完全支持 TNEF。Outlook 网页版(以前称为 Outlook Web App)将 TNEF 转换为 MAPI 并显示格式化的邮件。其他不支持 TNEF 的电子邮件客户端通常将 TNEF 格式的邮件显示为带有 Winmail.dat 或 Win.dat 附件的纯文本邮件。
这种情况发生时,收件方看到的邮件有可能是邮件内容完全空白,也有可能正文显示正常,但原本的附件不可见(包含在 winmail.dat
中未被解码)因此,这问题会对异构的邮件收发端带来很多困扰;
虽然 Microsoft 的各种资料都显示在默认配置下 Exchange 不会对发往非本地域名的收件人采用 TNEF 编码,仅只在发送到本地,内部域内才使用 TNEF 格式编码;但在实际环境中,我们经常会观察到有很多从 Exchange 组织发送到外部联系人的邮件也采用了 TNEF 编码发送的问题;
特别是在一些企业环境,在 Exchange Server 前端部署了第三方或商业邮件网关的架构下,经常能在这些第三方的邮件设备中看到对外发送的邮件是以 TNEF 编码发送的;
因此为了帮助这些企业,彻底解决由 TNEF 编码发送邮件带来的各种问题,本文将详细整理有关于在 Exchange 环境下该如何正确设定 TNEF 编码的方法;
解决方案
Microsoft 资料显示,控制邮件是否要以 TNEF 编码发送的规则,与三个部分的设定有关:
- Remote Domains 远程域设置中的 TNEF 转换选项
- mail contacts and mail users 邮件用户和联系人选项中的 TNEF 转换选项
- Outlook 邮件客户端中的 TNEF 转换选项
远程域设置禁用 TNEF
此为全局设定,Exchange 系统默认会有一笔 Default 的远程域配置,是专门针对所有的出站邮件进行控制的,只需要将其中的 TnefEnabled
参数设置为 $flase
即可在所有的出站邮件上完全禁用 TNEF 格式编码,且不会给用户带来任何负面影响;
MailFlow ==> remote domains ==> Default(编辑) ==> Use rich-text format(使用富文本消息格式)
将该选项的值设置为 Never(永不使用),即关闭 TNEF 选项
Exchange命令行
Set-RemoteDomain -Identity Default -TnefEnabled $false
用户或联系人设置禁用 TNEF
邮件联系人和邮件用户代表 Exchange 组织中具有外部电子邮件地址的用户。有关详细信息,请参阅收件人。 当您为邮件联系人或邮件用户配置 TNEF 转换选项时,这些选项将应用于发送给该特定收件人的所有邮件。
在 Exchange 命令行管理程序中的Set-MailUser和Set-MailContact cmdlet 上使用 UseMapiRichTextFormat 参数。有效值为:
Always: TNEF 用于发送给收件人的所有邮件。
Never: TNEF 永远不会用于发送给收件人的任何消息。
UseDefaultSettings: 这是默认值。对于邮件用户或邮件联系人,没有特别允许或阻止 TNEF 邮件。是否将 TNEF 邮件发送给收件人取决于远程域的 TNEF 转换设置,或发件人在 Outlook 中配置的 TNEF 转换设置。
Outlook 发信设置禁用 TNEF
在 Outlook 设定中禁用 TNEF 编码,仅仅只对使用该 Outlook 的用户生效,设置后使用该 Outlook 编写并发出的邮件将不在以 TNEF 编码发送;
这也是为什么通常有用户知晓了 TNEF 的问题后,尝试在 Outlook 中设置了禁止以 rich-text 格式发送邮件后,邮件依然会是 TNEF 编码的原因;
关于优先级顺序
- remote domains设置
- mail contacts and mail users设置
- Outlook设置