サーバーでメールを振り分けるソフトである 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 対応クライアントから作成可能です。