Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (3,583)  
CrystalDiskInfo  (1,811)  
Tera Term  (1,787)  
HandBrake Japanese Language Version  (1,743)  
CrystalDiskMark  (980)  
FFFTP  (765)  
ffdshow  (719)  
mixfont-mplus-ipa  (615)  
MergeDoc  (571)  
10  TortoiseSVN  (555)  
11  Amateras  (437)  
12  BathyScaphe  (396)  
13  FreeMind  (372)  
14  Cabos  (327)  
15  ギコナビ  (316)  
More >>

Archivemailを用いたメールボックスの清掃法

2008年12月10日 13:48 Shashank Sharma 1 2

 今日、複数のメールアカウントを使っている人間も多いと思うが、自分で管理すべきメールボックスに、2度と開封することのない多量のメッセージを溜め込んだままにしてはいないだろうか。特に管理者アカウント宛に届けられるのは、自動送信されるイベント類の定期通知メールが多く、こうしたものは目を通すことがあるとしても、せいぜい1度だけ開いて終わるのが関の山のはずだ。こうした不要メッセージの山を手軽に処分したいと思うなら、本稿で紹介する archivemail というツールの使用を検討すべきだろう。ここで行われるアーカイブ化処理は、ディスクスペースの空き容量を増やすと同時に、メールクライアントのパフォーマンス向上にも貢献するはずだ。

 archivemailの入手法に関しては、たいていのディストリビューションのソフトウェアリポジトリに収録されているが、ソースのtarボールを入手して自力でインストールすることもできる。なお同プロジェクトのWebサイトにアクセスしてみると、1年前にリリースされたarchivemail-0.7.2が最新バージョンとされているが、これは開発活動の中止を意味している訳ではなく、開発サイドの説明によると現在は次バージョンのリリースに向けて、新機能の追加、バグの修正、コードのスリム化といった作業が進行中とのことだ。

 archivemailの場合、IMAP、mbox、MH、Maildirフォーマットのメールボックスをサポートしている。そしてarchivemailで処理するメールボックスについては、その正確なパスを指定しなくてはならない。例えばメールクライアントとしてEvolutionを使用しているなら~/.evolution/mail/local/Inbox.sbd/が、同じくThunderbirdの場合は~/.mozilla-thunderbirdにあるディレクトリが、デフォルト設定下のメールボックス用に使われているはずだ。ただし実際のメールボックスの格納位置は、メールクライアントの種類だけでなく各自のユーザ設定でも異なってくるものだが、デフォルト設定として各ユーザのhomeディレクトリの下層に置かれるケースが多いことは憶えておいても損はしないだろう。いずれにせよ、archivemailを使用する際にはメールボックスの正確なフルパス指定が必要となるが、これを省略してメールボックスの名前だけを入力することも可能で、その場合はカレントディレクトリが適用されることになる。

 メールボックスを指定したarchivemailをデフォルト設定下で実行すると、180日以上経過したすべてのメッセージが自動的にアーカイブ化される。この経過日数は-dコマンドオプションにより変更でき、こうしたオプション類は「archivemail options mailbox 」という構文で指定すればいい。例えば「archivemail -d 40 trip」を実行すると、指定メールボックスのtrip中にて受信後40日以上経過したメッセージ群を圧縮したファイルがtrip_archive.gzという名称で作成される。そして、ここでアーカイブ化対象となったメッセージ群は、メールボックスから自動的に削除されるようになっているのだ。

 同様に-Dオプションを用いると、先のような経過日数ではなく、明示的な日付指定によるarchivemailの制御もできる。例えば先のtripメールボックスにて2008年7月4日(July 4, 2008)以前のメッセージ群をアーカイブ化したければarchivemail -D '4 Jul 2008' tripと指定すればいい。

 こうした日付指定は、先のようなフォーマット以外にも'2008-07-04'や'4 July 2008'という表記が利用できる。その際の注意点としては、一重引用符で囲むことと、年の数字を4桁のフル表記にすることだ(archivemailは2桁の年表記は扱えない)。こうしたコマンドラインオプションの使い方に不慣れなうちは、-nというコマンドオプション指定でarchivemailを実行させてみればいいだろう。この-nオプションを付けた場合のarchivemailは、対象となるファイルを実際に処理する代わりに“当該オプションの指定下ではどのような処理が行われるか”という情報を表示してくれるのだ。以下の出力はこうしたドライランモードにて、10月20日(20 October)以前のメッセージを処理させるよう指定した結果である。

$ archivemail -D '20 Oct 2008' -n trip:
trip:
    I would have archived 9 of 16 message(s) (1.2MB of 2.0MB) in 0.0 seconds

 デフォルト設定下のarchivemailは圧縮ファイルをメールボックスと同じディレクトリに作成するが、作成先をユーザ指定するには-oオプションを使用すればよく、例えば「archivemail -d 90 -o ~/mail-archives/ trip」というコマンドは、90日以上経過したメッセージ群を~/mail-archives/ディレクトリにアーカイブ化する。ただし指定された圧縮先ディレクトリが存在しなかった場合、archivemailからはエラーが出されるので、こうしたディレクトリは事前に用意しておかなくてはならない。

最終更新:2009年02月09日 17:08
SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.