Mail::Transport::Dbx

| 0 Comments | 0 TrackBacks

古いメールを取り出したかったので、Perl のモジュールでとりだしてみました。

Mail::Transport::Dbx - Parse Outlook Express mailboxes

を使いました。

使い方は簡単で、以下のようなスクリプトを作っておいて、perl test.pl *.dbx | less とかやれば、そのまま見れます。

#!/usr/bin/perl
# test.pl

# use lib qw(blib/lib blib/arch);
use Mail::Transport::Dbx;
use strict;

foreach my $f (@ARGV) {
    my $dbx = eval {
        Mail::Transport::Dbx->new("$f")
    };
    die $@ if $@;
    for my $msg ($dbx->emails) {
        print $msg->as_string . "\n";
    }
}

maildrop とかにローカル配送させたい場合は、

#!/usr/bin/perl
# test-local-deliv.pl

# use lib qw(blib/lib blib/arch);
use Mail::Transport::Dbx;
use strict;

foreach my $f (@ARGV) {
    my $dbx = eval {
        Mail::Transport::Dbx->new("$f")
    };
    die $@ if $@;
    for my $msg ($dbx->emails) {
        open(F, "| maildrop");
        print F $msg->as_string . "\n";
        close(F);
    }
}

とかやるといいかと思います。(こっちは試してません)

No TrackBacks

TrackBack URL: http://blog.woremacx.com/MT/mt-tb.cgi/25

Leave a comment