サーバーでメールを振り分けるソフトである Procmail を使ってみましょう。これはサーバーが取り込んだメールを好きなディレクトリ(普通はホームディレクトリに作ったサブディレクトリ)に振り分けるソフトです。特に、imap4 と組み合わせることでより便利になります。僕はこれでメーリングリストを振り分けるだけでなく、自分宛のメールを特定のディレクトリに振り分け、同時にiMODEにも転送するようにしています。
1.Procmailのインストール
FreeBSD の場合、ports からインストール可能です。
# cd /usr/ports/mail/procmail # make install
2..forward
ホームディレクトリに次のような .forward ファイルを作ります。詳しくは example ディレクトリを参照して下さい。
% cd ~ % ee .forward ----- "|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf- || exit 75 #YOUR_LOGIN_NAME" ----- <例> "|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf- || exit 75 #masao"
MTA(Mail Server) に qmail を使用している場合は、.forward ファイルを使えるようにするため、dot-forward をインストールしなくてはなりません。/usr/local/src にソースを置いてインストールします。
# cd /usr/local/src # tar zxvf dot-forward-0.71.tar.gz # cd dot-forward-0.71 # make setup check
3..procmailrc
ホームディレクトリに次のような .procmailrc ファイルを置きます。samples や man を参考にして下さい。
% cd ~ % vi .procmailrc ----- PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:. MAILDIR=$HOME/Mail # You'd better make sure it exists DEFAULT=$MAILDIR/mbox LOGFILE=$MAILDIR/from SENDMAIL=/usr/sbin/sendmail :0 * ^Subject:.*test-ml # Subjectにtest-mlという文字を含むメールを test-ml # test-mlに振り分ける :0 # To にmasaoという文字がある場合は * ^To:.*masao # 09088888888@docomo.ne.jp (架空) { # に転送する、と同時に masao に :0 c # 振り分ける ! 09088888888@docomo.ne.jp # # :0 c # To にmasaoという文字がある場合は /var/mail/masao # /var/mail/masao (POP3のファイル)にコピーする # c はカーボンコピーの意味で元のファイルは残すという意味 :0 # masao # そして最後にmasaoに振り分ける(移動する) } # # :0 # uncle.or.jp というドメインを持った * ^From.*uncle.or.jp # メールが来た場合、uncle uncle # に振り分ける
なお、courier-imap と組み合わせて、Maildir方式に対応するには、次のように記載します。
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:. MAILDIR=$HOME/IMAP/ # You'd better make sure it exists DEFAULT=$MAILDIR LOGFILE=$MAILDIR/from :0 * ^To:.*masao { :0 c ! mfujie@docomo.ne.jp :0 c /home/masao/Maildir/ :0 .masao/ } :0 * ^Subject:.*test-ml { :0 c /home/masao/Maildir/ :0 .test-ml/ } :0 * ^Subject:.*FreeBSD-users-jp .FreeBSD-users-jp/
この場合、imap 用のディレクトリを ~/IMAP としました。もちろん、これは maildirmake コマンドで作成します。qmail-pop3d 用のディレクトリは ~/Maildir としました。
4.ディレクトリ等の作成
まずデフォルトの Mail ディレクトリと mbox ファイルを作ります。mbox はパーミッションに気をつけます。
% cd ~ % mkdir Mail % cd Mail % touch mbox % chmod 600
その他、.procmailrc で指定したファイルを作成します。クライアントの IMAP4 対応メールソフトで作成しても構いません。
% touch test-ml % touch masao % touch uncle % chmod 600 *
これでメールが振り分けられるはずです。Maildir に対応したディレクトリに振り分けるには、Maildir の名前を ~/IMAP とすると、
# cd ~ # /var/qmail/maildirmake IMAP # cd IMAP # /var/qmail/maildirmake .test-ml
などとします。サブディレクトリにはピリオドが必要です。これも IMAP4 対応クライアントから作成可能です。