古い記事
ランダムジャンプ
新しい記事

toridasi-shamail.pl

2004-04-09-1
写メールを受け取ったら自動的に画像を抜き出して任意のディレクトリに
置くだけの簡単 Perl プログラム (Unix 系メールサーバ用)。
#!/usr/bin/env perl
# 写メールから画像を取りだして任意の場所に置く

my $tmp_file = "/tmp/mailtmp.$$"; # 一時ファイル
my $output_dir = "/home/yto/dc/j-sh08"; # 画像ファイル出力先 dir
my $uudeview = "/usr/local/bin/uudeview"; # uudeview フルパス

my $all = join('', <>); # メールの内容=標準入力

if ($all =~ /vodafone.ne.jp/) { # 写メール判定 (ad hoc)
    open(F, "> $tmp_file") or die; # 一時ファイル作成
    print F $all;
    close F;
    `$uudeview -q -p $output_dir - < $tmp_file`;
    unlink $tmp_file; # 一時ファイル削除
}
(無償・無保証・著作権放棄 <http://lifehacks.ta2o.net/byebye-copyright.html>)

これを .forward から呼び出します (つまり、メールが来るたびに呼び出
されます)。.forward を以下のようにすれば大丈夫と思いますが、まった
く保証しません。まずは、.forward の書き方を調べてからやりましょう。
メール消えても自己責任で。
yto@example.com,/home/yto/allmail,|/home/yto/bin/toridasi-shamail.pl
Convert::UUlib を使おうかと思ったけど、変数をどう渡すのか分からな
かったので断念。で、結局 uudeview [2002-04-11-3]を中から呼び出して
います (要インストール)。

あとは、WWW::Mechanize と組み合わせて、
アップロード CGI に画像をアップできるようにして、
アップロード CGI で JavaScript feed するようにすれば、
「くっつき moblog」の完成です。サイドバーに張りつけるぞ!
時間ができたら取り組みます。
この記事に言及しているこのブログ内の記事