设为首页 收藏本站
查看: 3795|回复: 0

[经验分享] Exchange 2016发送给内部中继服务器邮件后收件人显示winmail.dat

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-30 09:31:50 | 显示全部楼层 |阅读模式
1、前戏
         最近遇到一个问题,Exchange邮箱发送一个带附件的邮件给内部的另外一个非Exchange邮件系统邮箱的用户邮件,收件人收到邮件后不使用Outlook客户端打开邮件时显示为winmail.dat;如果收件人使用Outlook打开则可以正常查看邮件附件。
2、了解这个问题之前我先介绍一下环境情况
          现场环境为WIndows Server 2012 R2+Exchange 2016。AD的域名为contoso.local,Exchange的接收域为:contoso.local(外部中继域)、contoso.com(权威域),域名contoso.local域名为内部一个coremail邮件系统使用的SMTP域名;为了能够让Exchange 2016的邮箱用户能够在OAB中检索到coremail的邮箱用户地址,使用脚本在Exchange上为创建了大量外部SMTP地址为@contoso.local的联系人。
3、为啥会出现这种情况
      通过查找发现在Exchange组织内部发送的邮件格式为TNEF,TNEF(也称为 Outlook RTF 格式或 Exchange RTF 格式)是 Microsoft 特定的用于封装 MAPI 邮件属性的格式。MicrosoftOutlook 的所有版本都能完全理解 TNEF。Outlook Web App 将 TNEF 转换为 MAPI,并显示已设置格式的邮件。但是,不了解 TNEF 的其他电子邮件客户端通常将 TNEF 格式的邮件显示为带有 Winmail.dat 或 Win.dat 附件的纯文本邮件。(具体可以参考:https://technet.microsoft.com/zh-cn/library/bb310786(v=exchg.150).aspx)
     换句话说,在Exchange内部的邮件格式是为TNEF,当Exchange将邮件发送到第三方邮件系统时,会将TNEF格式的邮件进行内容格式转换(例如:转换为HTML格式),这样第三方邮件系统接收到邮件后使用非Outlook客户端就能够正常查看邮件内容。
     出现上述这种情况,有两种解决方法:1)、关闭远程接受域的TnefEnabled属性值。(而我的环境中contoso.local为AD域名,无法删除也无设置为远程域,所以此方法行不通)。2)、设置每个Mailuser或Mail contact的属性UseMapiRichTextFormat为Never。
4、解决方法
        由于我处理的环境只能使用方法2,下面我还是两种操作方法都说明一下:

1)、设置远程接收域
1. 打开Exchange Powershell
2. 三方邮件系统所使用的domain(此处,假设您的Exchange smtp domain为contoso.com,三方邮件系统的smtp domain为4thcoffee.com)加入到Exchange的Remote Domain中:
New-RemoteDomain Name 4thCoffee.com -DomainName 4thCoffee.com
3. 运行下方命令检查您此时的Remote Domain配置:
Get-RemoteDomain | Where {$_.TNEFEnabled -ne $false} | Select Name,DomainName,TNEFEnabled
wKiom1g9PX3R3QuXAACA2g4rdsk490.jpg
4. 将4thCoffee.com的TNEFEnabled参数设置为False:
Set-RemoteDomain -Identity 4thCoffee.com -TNEFEnabled $false
关于TNEF参数的说明:
The TNEFEnabled parameter specifies whether Transport Neutral Encapsulation Format (TNEF) message encoding is used on messages sent to the remote domain.
参考链接:
Set-RemoteDomain
https://technet.microsoft.com/en-us/library/aa997857(v=exchg.150).aspx
TNEF conversion options
https://technet.microsoft.com/en-us/library/bb310786(v=exchg.150).aspx
2)、设置Mail User和Mail Contact属性UseMapiRichTextFormat为 Never  
   操作单个用户,直接使用命令Set-mailuser –identity yangfanit –UseMapiRichTextFormat Never   即可完成设置。
wKioL1g9PX7hqwmYAABTqmuQr1c575.jpg
5、实际环境操作
问题描述:
============================================
       Exchange 2016邮箱用户给contoso.local的coremail用户发送邮件后,coremail邮箱用户收到邮件后,使用非Outlook客户端查看邮件时显示为winmail.dat格式。

原因分析:
===============================================
     由于现场环境中Exchange 2016的接收域中存在contoso.local,无法将此接收域删除或者设置为远程域。[url=]导致Exchange邮箱用户给域名为@contoso.local的mail[/url] User发送邮件时自动启用了TNEF封装格式,而没有转换为HTML格式。(关于TNEF格式可以参考:[url=]https://technet.microsoft.com/zh-cn/library/bb310786(v=exchg.150).aspx[/url])

解决方法:
===============================================
手动将每个mailuser的UseMapiRichTextFormat设置为never。[url=]可以让所有Exchange邮箱给域名@contoso.local发送邮件时删除TNEF[/url]封装的格式,这样在Coremail用户使用非Outlook客户端时就能够正常查看邮件。
操作方法如下:
1、 操作单个用户,直接使用命令Set-mailuser –identity  test01 –UseMapiRichTextFormat Never   即可完成设置。
wKioL1g9PYDBEOIlAAIAqbq75LU819.jpg
2、 批量设置所有Mailuser的UseMapiRichTextFormat属性操作方法。使用如下脚本即可设置所有mailuser用户的属性UseMapiRichTextFormat值。

#输入Exchange 2016 Powershell连接URL
$ExchangeURI = 'http://CASFQDN.contoso.com/powershell/'
$s=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $ExchangeURI -Authentication Kerberos -Name 'ExchangeSession'
Import-PSSession $s

Get-MailUser -ResultSize unlimited | Set-MailUser -UseMapiRichTextFormat never
$error | Out-File "c:\scripts\error.txt" -Force -noclobber

Remove-PSSession  $s
操作过程:
1)、服务器CAS01.cotoso.com的C盘ExchangeScripts上有一个脚本文件Set-mailuserUseMapiRichTextFormat。
wKioL1g9PYOClZ6aAAHqleTkIFw441.jpg

2)、运行脚本Set-mailuserUseMapiRichTextFormat。
wKioL1g9PYmgXq0UAAIwLS_JTkQ242.jpg

3)、脚本运行完成后,如果执行过程中有问题,那么会记录在error.txt文件中。
wKioL1g9PY3gYnAQAACfJSTxkqs645.jpg





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-307508-1-1.html 上篇帖子: postfix 邮件服务器搭建详解 下篇帖子: zimbra 的 postfix 队列管理 服务器 收件人
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表