メイル環境の整備

"postfix + courier-imap + fetchmail + procmail + bsfilter + wanderlust"

前説
  Spamの増加や、PC及びユーザーの増加(PC6台の小規模LANですが、、、)
 に伴いメイル環境の整備をしました。 従来の環境と大きく違ったのは courier-imap
 の導入と Spam のフィルターに bsfilter を採用したことです。
 以下は導入作業の要点メモです。

環境
 サーバー Vine-Linux-2.6r4
 クライアント Debian/GNU Linux(testing) WindowsXP Windows2000など
  以下Vine-Linux-2.6r4 を前提に説明します。

1.postfix
 
 courier-imap は qmail の Maildir 形式しかサポートしないようなので、
 /etc/postfix/main.cf を編集します。

 オプション home_mailbox を以下のようにしてします。末尾の"/" は必須です。

    home_mailbox = Maildir/

 オプション mail_spool_directory が指定されていたらコメントアウトするか
 削除してください。

    # mail_spool_directory = /var/mail
  # mail_spool_directory = /var/spool/mail

  postfix を再起動します。

    # /etc/init.d/postfix restart

 postfix の設定は以上で終わりです。


2.courier-imap

 courier-imap は Vine 標準の imap と conflict します。imap を uninstall します。
  courier-imap は VinePlus にあります。必要に応じて /etc/apt/source.list を編集
 してください。
 
    # apt-get remove imap あるいは # rpm -e imap

 courier-imap を install します。

    # apt-get install courier-imap

 一般ユーザーで ~/Maildir を作成します。

  $ maildirmake ~/Maildir                     # /usr/sbin/maildirmake は courier-imap
                                                         に含まれるコマンドです。

 必要に応じて directory を追加してください。

 * Example
  
     $ maildirmake ~/Maildir/.test             # Maildir/ 以下のdirectry には先頭に
                             ピリオドをつけるようです。(推測)

3.fetchmail

 fetchmail は標準でインストールされているはずです。
 fetchmail を使用する必要がある場合は 各ユーザーの ~/.fetchmailrc
 を適宜設定してください。
 今回は bsfilter procmail と連携したメイル環境を構築しますので

 ~/.fetchmailrc の中で mda に procmail を指定してください。

    $cat ~/.fetchmailrc
   
        set postmaster "user-name"
        set bouncemail
        set no spambounce
        set properties ""
        poll smtp.server.name with proto POP3
            user 'user-name' there with password 'PASSWORD' is 'user-neme' here options stripcr
        mda '/usr/bin/procmail -d %T'            # <= ここ

4.procmail

 procmail も標準でインストールされているはずです。

 ~/.forward を作成して、以下の内容を記述します。

    "|IFS=' ' && exec /usr/bin/procmail -f- || exit 75#USERNAME"

 ダブルクォーテーションも含めて記述してください。postfix が受け取ったメイルを
 procmail に処理させるためのおまじないです。



 ~/.procmailrc を編集します。

 $ cat ~/.procmailrc

    # Please check if all the paths in PATH are reachable, remove the ones that
    # are not.
    PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
    MAILDIR=$HOME/Maildir                  # courier-imap の為の設定
    DEFAULT=$MAILDIR/
    LOGFILE=$MAILDIR/from
    LOCKFILE=$HOME/.lockmail

    :0 HB:                                 # bsfilter に判定させるための設定
    * ? /usr/local/bin/bsfilter -a
    $MAILDIR/.spam/                        # spam と判定したらこの directory へ

 後は適宜振り分けの設定などを記述してください。

5.bsfilter

 bsfilter は Vine には含まれません。各自インストールする必要があります。

    http://bsfilter.org/

 へアクセスしてインストールしてください。詳しい説明もありますので一通り目を通して
 おくといいと思います。
 データベースとなる spam のサンプルは

    http://www.flcl.org/~yoh/spam9xxxx.tar.gz

 に linux-users メイリングリストの spam を集めたものがありますので利用すると
 いいと思います。

6.wanderlust

 MUA には xemacs + wanderlust を使用してみました。
 特に変わった設定は必要なく、 ~/.wl を適宜編集してください。

 ただし、~/.folders の設定がちょっとわからなくて悩みましたが、

    %/

 と記述しておけば、imap のフォルダーにアクセスできます。
 また、フォルダーを追加しても表示されない場合があるようです。
 その場合は ~/.elmo/folder/%/flist を編集すればよいようです。

    * Example

     $ cat ~/.elmo/folders/%/fliset

    (("%INBOX" "%INBOX.Vine" "%INBOX.linux" "%INBOX.Debian" "%INBOX.spam") nil)

 以上の環境で快適にメイルしてます。

Return to Home