1 頁 (共 1 頁)

Mail Archiver for 10.4 Mail.app

發表於 : 11/21/2005 6:07 pm
ulysses
不曉得平常大家都怎麼管理 Mail?
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

發表於 : 11/21/2005 6:23 pm
jiasai
抱歉,順便問一個問題,
Mail要如何跟idisk分開阿?
上次想說把idisk裡的郵件清一清(因為快滿了),
結果連在Mail的舊郵件都清掉了,
請問要怎麼設定呢?
試了幾次都殘念,謝謝