uttsu.com > Perl >

MailExtract

mbox形式のファイルからFrom, To, Subject, Date, 本文を抽出します。

内容

UNIXのmbox形式のメールファイルから、ヘッダのFrom、To、Subject、Dateフィールドと本文を抽出し、指定の書式にしたがって出力します。出力されるファイルは1つです。

ShiftJISの文字コードにのみ対応していますが、おそらく多くのファイルはJIS形式で保存されていると思います。他のツール等を使って、まずShiftJISに変換してから使ってください。ヘッダ部のデコードも、他のツールで行う必要があります。

また、このスクリプトを使用するにはご自分のPCにPerlがインストールされている必要があります。

ダウンロード

使い方

プロンプト(Windowsの場合はコマンドプロンプト)から以下のように入力します。

perl mailextract.pl 入力ファイル > 出力ファイル

「入力ファイル」にmbox形式のファイルを指定します。ファイルはスペースで区切って複数指定でき、結果は「出力ファイル」に出力されます。

出力書式

mailextract.plファイル中の以下の個所を編集することにより、出力する書式を指定できます。ヘッダ中のFrom, To, Subject, Dateフィールドおよび本文をそれぞれ$from, $to, $subject, $date, $bodyという記号を使って指定します。各記号は何度でも記述できます。

my $output_format = <<'END';
<<
$date
$from
$to
$subject

$body
>>


END

この例では、例えば以下のように出力されます。

<<
Date: Sun, 20 Jul 2003 23:10:38 +0900
From: aaa@aaa.aaa
To: bbb@bbb.bbb
Subject: Re: メール読みました

こんにちは。メール読みました。…
>>


<<
Date: …

と、2通目以降のメールが続いて出力されます。


Copyright (C) Takashi Utsunomiya. All Rights Reserved.
2003.07.21掲載