Mail Archiver for 10.4 Mail.app
發表於 : 11/21/2005 6:07 pm
不曉得平常大家都怎麼管理 Mail?
10.4 的 Mail.app 允許建立多層 Mailbox,可以替個別專案設定一個 Mailbox,和這個專案有關的所有信件都丟進去,這樣挺方便的。但是 Mail.app 缺乏【Export】功能,在結案後想把所有相關信件通通燒成光碟歸檔的時候,就很麻煩了。雖然 Mail.app 有 Save As,但是當你有一百多封信要存,保證會讓人抓狂。
10.4 以後每一封 Mail 都是個別檔案存放,放在 ~/Library/Mail 底下。每一個 .emlx 檔案都可以點兩下開啟顯示完整 Mail 內容。可是這些 .emlx 檔案都是用編號命名,單獨把這些檔案抓出來瀏覽的時候很麻煩。
為了解決這個問題,在下寫了一個簡單的 Shell Script,可以批次把每個信件檔案依照 [時間][寄件者][標題] 格式改名。如此一來要歸檔整理就方便多了。
10.4 的 Mail.app 允許建立多層 Mailbox,可以替個別專案設定一個 Mailbox,和這個專案有關的所有信件都丟進去,這樣挺方便的。但是 Mail.app 缺乏【Export】功能,在結案後想把所有相關信件通通燒成光碟歸檔的時候,就很麻煩了。雖然 Mail.app 有 Save As,但是當你有一百多封信要存,保證會讓人抓狂。
10.4 以後每一封 Mail 都是個別檔案存放,放在 ~/Library/Mail 底下。每一個 .emlx 檔案都可以點兩下開啟顯示完整 Mail 內容。可是這些 .emlx 檔案都是用編號命名,單獨把這些檔案抓出來瀏覽的時候很麻煩。
為了解決這個問題,在下寫了一個簡單的 Shell Script,可以批次把每個信件檔案依照 [時間][寄件者][標題] 格式改名。如此一來要歸檔整理就方便多了。
代碼: 選擇全部
#!/bin/sh
for src in $@; do
subject=`sed -n '/Subj/s/.*[bB]ig5?[bB]?\(.*\)?=/\1/p' $src | head -n 1 | openssl base64 -d | iconv -f big5 -t utf8 | tr -s ":/" "-_" `
if [ -z "$subject" ]; then
subject=`sed -n '/Subj/s/.*[uU][tT][fF]-8?[bB]?\(.*\)?=/\1/p' $src | head -n 1 | openssl base64 -d | tr -s ":/" "-_"`
if [ -z "$subject" ]; then
subject=`sed -n '/Subj/s/Subject: \(.*\)/\1/p' $src | head -n 1 | tr -s ":/" "-_"`
fi
fi
sender=`sed -n '/From/s/From:.* <*\(.*\)@\([^.]*\).*/\1\@\2/p' $src | head -n 1`
datetime=`sed -n '/Date/s/Date: \(.*\)/\1/p' $src | head -n 1`
datetime=`echo "<? echo date('ymdhi',strtotime('$datetime')); ?>" | php`
mv $src "[$datetime][$sender] $subject.emlx"
done