メール環境再構築 - procmailの設定

Last Modified: 2005.06.05

2. procmailの設定
www.jaist.ac.jp/~fjt/を参考にさせて頂きました。
prochmailは、TurboLinux 7 Serverに付属している。利用したバージョンは、procmail-3.21-1
ユーザ toto での例。

1. sendmailを止める

procmailの設定中にメールを受信しないよう、sendmailを止める。

 [root@linux /root]# /etc/init.d/sendmail stop

2. メールボックスの作成

ここでは、メール本体は~/mail/、ログファイル等は~/.procmail/に保存する事とする。
UW IMAPDの標準のメールボックス名はINBOXなので、今までのメールボックスをINBOXとして移動する。
また、空の仕分け用メールボックスを念のため作っておく。

 [toto@linux toto]$ mkdir mail .procmail
 [toto@linux toto]$ chmod 700 mail
 [toto@linux toto]$ cd mail
 [toto@linux toto]$ mv /var/spool/mail/toto INBOX                <--- 標準のメールボックスをINBOXとして移動
 [toto@linux toto]$ touch Bekkoame Linux Stock AD                <--- 空のメールボックスを作成
 [toto@linux toto]$ chmod 600 INBOX Bekkoame Linux Stock AD

3. .procmailrcの作成

以下の内容でホームディレクトりに.procmailrcを作成する。

AMMさんのqmailでの例に触発されて、タイトルに「広告」を含むメールは AD というフォルダに移すことにした。
やり方は、www.jaist.ac.jp/~fjt/を参考にした。

 PATH=/bin:/usr/bin:/usr/local/bin    <--- パスの設定
 MAILDIR=$HOME/mail                   <--- メールを配信するディレクトリの指定
 PMDIR=$HOME/.procmail                <--- ログファイル等を置くディレクトリの指定
 DEFAULT=$MAILDIR/INBOX               <--- 標準のメールボックス
 LOGFILE=$PMDIR/log                   <--- ログファイル
 LOCKFILE=$PMDIR/lock                 <--- ロックファイル(ユーザが同時アクセスする場合のロック)

 :0:
 * ^Subject:.*iso-2022-jp             <--- Subject: で始まってio-2022-jpを含む行があったら
 * ^Subject:.*\/.*                    <--- タイトル部分を$MATCHに格納
 * ? echo "$MATCH" | nkf -m -e | grep '広告'   <--- タイトルが広告を含むなら、ADへ移動
 AD

 :0:
 * ^([Tt]o|[Cc]c):.*@kkoba\.com       <--- 宛先に@kkoba.comを含むならLinuxフォルダへ移動
 Linux

 :0:
 * ^([Tt]o|[Cc]c):.*@bekkoame\.ne\.jp <--- 宛先に@bekkoame.ne.jpを含むならBekkoameフォルダへ移動
 Bekkoame

 :0:
 * ^[Ff]rom:.*@monex\.co\.jp          <--- 差出人に@monex.co.jpを含むならStockへ移動
 Stock

 :0:
 * ^[Ss]ubject:.*okiraku              <--- Subjectにokirakuを含むならStockへ移動
 Stock

 :0:
 * ^[Ff]rom:.*mag2 ID 0000026729      <--- 差出人にmag2 ID 0000026729を含むならStockへ移動
 Stock
  • 仕分けルールにひっかからないメールは、DEFAULTで指定したメールボックスに入る。
  • 仕分けルールは、メールヘッダーで行う。通常はTo, From, Subjectを利用する。
  • [Tt]oは、Toまたはtoであることを示す。
  • .は任意の一つの文字、*は任意の回数の繰り返しなので、.*で任意の文字列を示す。
  • logファイルはどんどん大きくなるので、時々手動で整理する必要がある。

4. sendmailを再開する

sendmailを再開する。

 [root@linux /root]# /etc/init.d/sendmail start


<Prev Top Next>
Copyright(C) 2001-2003 Katsuyuki Kobayashi.
このサイトへのリンクや引用時はメール頂戴
webmaster@kkoba.com