MacOS 自动化处理 winmail.dat 邮件附件

最近不知道邮件列表里谁的outlook没有升级,收到的多封带有附件的邮件,附件都变成了winmail.dat。

没有了醒目的图标,很容易忽略掉附件,导致很多麻烦的事情。

Mac下的解决方法我试过TNEF’s enougth。

这是尝试的第一个解决方案,虽然能解决问题,但是不方便之处也很明显:需要手动点开一层层菜单,打开邮件附带的winmail.dat,然后再手工把附件抽取出来。

这种繁复的操作,如果是刚刚用mbp的话,我倒也是能接受。但是,现在我比较看中工作流的顺畅程度。这和原先Mail中按个空格预览一下附件看看有没有必要保存的工作流相比,太麻烦了。

第二个解决方案是我现在使用的方案:用Hazel 解决这个问题。

Hazel可以理解为是系统自带的Automator的改良版本,更加简单易用,或者说更强大。唯一的缺憾就是收费

先说下设计的工作流:

在桌面有一个winmail的文件夹,用来专门存储和处理winmail.dat。邮件附件里的winmail.dat直接拖进这个桌面的文件夹(或者放在dock里收藏),然后Hazel会运行一个shell脚本自动提取其中的文件,并且保存到一个带有时间戳的子文件夹中,并打开。处理完附件也不用刻意去处理这个子文件夹,它会在一定时间后自动删除。

btw,因为功能的核心是一个shell脚本,因此这个工作流程的主要功能,也可以通过Automator来完成。

Hazel对winmail这个文件夹的规则如下:

Step1.提取附件,并打开:

其中的脚本如下


#!/bin/bash
timestamp=$(date +%Y%m%d%H%m%S)
mkdir ${timestamp}_winmail
mv ./*.dat ./${timestamp}_winmail
cd ${timestamp}_winmail
tnef winmail.dat && tnef -t winmail.dat | xargs convmv -f GBK -t utf8 –notest
open ./

其中用到两个程序包 tnefconvmv。都是通用版本,最简单的方法是通过brew来安装。brew的安装和使用方法,网上很多,例如这篇,在这里就不赘述了。

Step2. 删除过期文件

Step3. (可选)删除放入这个文件夹的除了.dat之外的其他文件

以上。

转载请注明来自http://gatherlight.info/?p=526, 谢谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注