收到包含winmail.dat附件的邮件怎么办?

有些人可能会收到winmail.dat附件的邮件,这个是发件方outlook的bug,一般情况下需要修改outlook的发送格式或者安装补丁(下方链接是微软官方解决办法)。但是有时候通知发件人做这些操作并不现实,所以收件方可以使用以下方法还原成winmail.dat格式的真实附件。
http://support.microsoft.com/kb/278061 (2003)
http://support.microsoft.com/kb/958012/ (2007、2010)

一、windows环境
可以安装winmail opener这个winmail阅读器(类似的工具还有),来查看winmail.dat的内容。

二、linux环境
1、下载安装tnef包
wget https://nchc.dl.sourceforge.net/project/tnef/tnef/tnef-1.4.12.tar.gz
tar -zxvf tnef/tnef-1.4.12.tar.gz
./configure
make
make install

2、解析winmail.dat附件
tnef winmail.dat  这样就可以解析出真正的附件。

致敬Mark Simpson:https://github.com/verdammelt

三、ubuntu环境
安装tnef:sudo apt-get install tnef
打开winmail:tnef winmail.dat
你也可以先用tnef -t winmail.dat 来看看包含的文件。
由于发件人用的大多是windows,一般这样得到的附件在utf8的linux下,文件名都会是乱码,无奈再用convmv转一下文件名的编码:convmv -f gbk -t utf8 –notest。

原文地址:http://blog.51cto.com/net881004/2068011

时间: 2025-01-14 08:10:45

收到包含winmail.dat附件的邮件怎么办?的相关文章

收到的电邮附件为Winmail.dat?

以下信息来源于微软帮助中心:您收到电子邮件,其中包含一个 winmail.dat 的附件.电子邮件被人使用的 Microsoft Outlook 发送给您.该邮件的格式是丰富文本格式 (RTF). 原因:Winmail.dat 文件用于保留丰富文本格式.发送格式文本格式的邮件时,outlook 将使用它.在传输过程中邮件的内容可能会更改,防止接收的客户端无法读取的格式的说明.在其他情况下,接收的客户端不使用也不能识别 winmail.dat 文件. 解决方案:Winmail.dat 文件中的数据

Exchange 2016发送给内部中继服务器邮件后收件人显示winmail.dat

1.前戏          最近遇到一个问题,Exchange邮箱发送一个带附件的邮件给内部的另外一个非Exchange邮件系统邮箱的用户邮件,收件人收到邮件后不使用Outlook客户端打开邮件时显示为winmail.dat:如果收件人使用Outlook打开则可以正常查看邮件附件. 2.了解这个问题之前我先介绍一下环境情况 现场环境为WIndows Server 2012 R2+Exchange 2016.AD的域名为contoso.local,Exchange的接收域为:contoso.loc

【Exchange与Winmail】互发邮件

实验环境 1.两台2008服务器,一台做内部邮箱(Exchange),一台做外部邮箱(winmai): 2.两台Windows 7客户机一台做exchange服务器的客户端使用Foxmail进行登录,一台做winmail的客户端:即宿主机(使用网页形式登录) 3.内部邮箱的IP地址为192.168.100.130: 外部为192.168.100.120 保证互联互通: 4.exchange要加入到域中,就意味着装了DNS服务,winmail也要加入到域中,这个域要和exchange不相同. 实验

Python发带附件的邮件

python实现发送带附件的邮件 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header # 第三方 SMTP 服务 mail_host = "smtp.qq.com" # 设置服务器 mail_user = "[email protected]" # 用户名 m

Apache Mail 发送带附件的邮件

MultiPartEmail email = new MultiPartEmail(); email.setDebug(true); email.setHostName("smtp.sina.com"); email.setAuthentication("发送邮件帐号", "邮箱登录密码"); email.setCharset("UTF-8"); try { email.setFrom("发送邮件帐号",

【Mail】JavaMail发送带附件的邮件

上一篇讲了使用JavaMail发送普通邮件([Mail]JavaMail介绍及发送邮件(一)),本例讲发送复杂的邮件(带有附件的邮件) 生成一封复杂的邮件 新建一个JavaWeb的Maven工程,引入javamail.jar包,maven引用如下: 1 <!-- javamail --> 2 <dependency> 3 <groupId>javax.mail</groupId> 4 <artifactId>mail</artifactId

.Net魔法堂:发个待附件的邮件

一.前言   由于工作需要最近把邮件发送封装成WebService,现在把代码记录在此,以便日后查阅. 二.二话不说写代码 private void _SendMail(string form, string pw, string subject, string[] to, string[] cc, string body, string attachmentName, byte[] attachment) { SmtpClient client = new SmtpClient(SMTP服务地

Android上发送带附件的邮件

准备工作-下载最新版本的JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html 在android上发送邮件方式: 第一种:借助GMail APP客户端,缺点是必须使用GMail帐号,有点是比较方便 不需要写很多代码,但是不是很灵活. 第二种

[Java] JavaMail 发送 html 格式、带附件的邮件

本案例演示发送 html 格式,可带附件的邮件发送.发送纯文本邮件的例子可参照上一篇博文JavaMail 简单案例. EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名.用户名.密码.发送人邮箱.收件人邮箱.邮件主题.html 格式的内容(可选).附件(可选),便可发送一份邮件. SendEmailDemo, 演示发送邮件. import java.util.Properties; import javax.activation.DataHandler; impo