Mail Archiver for 10.4 Mail.app

Mac OS X 平台上程式設計的相關問題討論

版主: bryanchangdigdog謝孟叡

回覆文章
內容
發表人
頭像
ulysses
討論區管理員
文章: 2475
註冊時間: 05/18/2001 1:01 am
來自: Forgotten Realm
聯繫:

Mail Archiver for 10.4 Mail.app

#1 文章 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
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
頭像
jiasai
留言五百如一日
文章: 593
註冊時間: 05/05/2001 1:01 am
來自: Taiwan/Hsinchu

#2 文章 jiasai »

抱歉,順便問一個問題,
Mail要如何跟idisk分開阿?
上次想說把idisk裡的郵件清一清(因為快滿了),
結果連在Mail的舊郵件都清掉了,
請問要怎麼設定呢?
試了幾次都殘念,謝謝
回覆文章