邮件里收到winmail.dat附件在linux下的解决办法- tnef+convmv

不知广大ubuntuer有没有收到过带个winmail.dat的邮件,我想在公司用ubuntu办公的一定收到过不少这种麻烦邮件。而你完全不知道这个附件如何打开,甚至更惨的是原本附件在邮件中的文件也不幸被这个winmail.dat吃掉了。你也许会询问这封邮件的发件人,这个时候对方多半也是一头雾水,因为人家用Outlook用的好好的,从来没有听说过这个问题,说得直白一点,就是完全不知道你在说什么。
那么winmail.dat到底是个啥东西呢?是M$的工具在编码打包你的邮件进行发送时,如果按照默认指定的RTF格式,会把格式信息按照MS自己的一套标准存放在邮件体中(在此,强烈BS M$的这种做法),造成非Outlook客户端不认识,无法正确解析。
你当然可以要求你的发件人不要用Outlook,或者不要用rtf格式,纯文本或HTML均可。但是如果你做不到这点,也还是有办法的。那就是使用 tnef。

安装:
代码:
sudo apt-get install tnef

使用:
代码:
tnef winmail.dat

你也可以先用tnef -t winmail.dat 来看看包含的文件。
由于发件人用的大多是windows,一般这样得到的附件在utf8的linux下,文件名都会是乱码,无奈再用convmv转一下文件名的编码:

代码:
convmv -f gbk -t utf8 --notest *

至此大功告成。

再用一行总结一下以上过程:

代码:
tnef winmail.dat && tnef -t winmail.dat | xargs convmv -f gbk -t utf8 --notest

你可能感兴趣的:(html,windows,linux,ubuntu,工具,rtf)