...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

~/Maildir形式でのprocmail

研究室アカウント宛のメールを hotmail と携帯に転送している.
どこからでも見られるため&最終バックアップ用途の hotmail では自動的にスパムがフィルタされるのでよかった.
でも,緊急連絡用途の携帯ではフィルタされずしょっちゅうスパムが来るので,対策をすることにした.

今までは
・研究室からhotmailと携帯へ転送
これを
・研究室からhotmailと自宅メールサーバへ転送
に変更して,自宅メールサーバで procmail を使ってフィルタリングしつつ携帯に転送することにした.
携帯宛のメールは二段階の転送をすることになる.
研究室のメールサーバには procmail が導入できなかったのだから仕方がない.

そして頑張ること数時間・・・.

正確なことはわからないが,四苦八苦してどうにか procmail が正常に機能したみたいなので,メモしておく.
なお,ここでは Vine3.2 + postfix で Maildir 形式を想定しています.
実際はさらに IMAP4 でメールをやり取りしています.

自分の Vine3.2 に procmail が入っているか確認.


$ which procmail
/usr/bin/procmail

ちゃんと入ってました.
次に, /etc/postfix/main.cf の中に次の2行がコメントアウトされてることを確認.
最初からされていた.


#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"

もし変更したら postfix の再起動を忘れずに.僕は不要だったのでやらず.


$ postfix reload

ここではユーザごとに転送設定をすることにするので,全体の設定ファイル /etc/procmailrc は用意しない.
ユーザごとの設定ファイル ~/.procmailrc を作る.

# 必要なのかどうかわからないがパスを通すらしい
PATH=/bin:/usr/bin:/usr/sbin
# Maildir形式なのでメールを保存するディレクトリを指定
MAILDIR=$HOME/Maildir/
# すべてのレシピを通り抜けた後の配送先
DEFAULT=$MAILDIR
# エラーなどのログをホームディレクトリに残すことにした
LOGFILE=$HOME/procmail.log
# 二重処理防止用ロックファイルの作成場所
LOCKFILE=$HOME/.lockfile
 
# 送信元が info〜.comなら破棄
:0
*1156424153* ^From:.*\<info.*\.com\>
/dev/null
 
:0 c
! 転送先メールアドレス(携帯電話のにしてある)

この設定ファイルにはメールアドレスを書き込むので,マナーとして chmod 600 ~/.procmailrc として自分しか読み書きできないようにする.

次にログファイルを作成する.

$ touch ~/procmail.log
$ chmod 666 ~/procmail.log

最後に ~/.forward を作る.

"|IFS=' ' && exec /usr/bin/procmail -f- ~/.procmailrc || exit 75 あなたのユーザ名"

あなたのユーザ名以外は,まったくこのまま入力してください,
なんか,ここで ~/.procmailrc を与えておかないと上手くいかなかったです.

このファイルを作成した瞬間から転送が開始されます.
転送設定が間違っていたらメールは闇に葬られますから十分確認してくださいね.

ちゃんと携帯に転送されることを確認して・・・OK.
苦労したけどなんとか動くようになった.