対象サーバについて
製品名 | OpenBlockS 600 |
OS(kernel ver) | Debian lenny(2.6.29) |
CPU | 600MHz(AMCC PowerPC 405EX) |
メモリ | 1GB(DDR2 SDRAM) |
ストレージ | 8GB(Compact Flash) |
はじめに
Procmail側の設定だけではなく、Postfixの設定も必要です。
Procmailのインストール
受信メールの振り分けのため、Procmailをインストールします。
www:~# aptitude install procmail www:~# exit logout user001@www:~$
Procmail設定
Procmailの設定を実施します。Maildir形式を使用するための設定と、特定キーワードがSubjectに含まれていた場合に特定のアドレスにメールを転送するための設定を行います(cron-aptの設定で利用しています)
※Maildir形式はProcmail 3.14より前のバージョンには対応していないそうなので注意が必要です。
user001@www:~$ vi .procmailrc SHELL=/bin/bash PATH=/bin:/usr/bin:/usr/sbin # procmailが使用するパス LOGFILE=$HOME/procmail.log # ログファイル名 DROPPRIVS=yes #LOCKFILE=$HOME/.lockfile # ロックファイル名 MAILDIR=$HOME/Maildir/ # メール格納場所 DEFAULT=$MAILDIR # レシピにマッチしなかった場合の格納場所 ### Subject:に"test"が含まれていた場合はカーボンコピーして ### (メールボックスに受信メールを残す) ### pc@xxx.comに転送 :0 c * ^Subject: .*test.* ! pc@xxx.com
次に、メール格納場所を作ります。
user001@www:~$ mkdir Maildir user001@www:~$ su - パスワード: www:~# /etc/init.d/postfix restart Stopping Postfix Mail Transport Agent: postfix. Starting Postfix Mail Transport Agent: postfix. www:~# ls -al ~user001/Maildir/ 合計 8 drwxr-xr-x 2 user001 adm 4096 2010-01-05 11:15 . drwxr-xr-x 6 user001 adm 4096 2010-01-05 11:15 ..
この時点ではMaildirは空ですが、メールを受信するとフォルダとファイルが作成されます。
他のサーバから本メールサーバに接続して自分宛にメールを送信してみます。
test:~# telnet 172.0.0.2 25 Trying 172.0.0.2... Connected to 172.0.0.2. Escape character is '^]'. 220 mail.example.jp ESMTP unknown MAIL FROM:user001@example.jp 250 2.1.0 Ok RCPT TO:user001@example.jp 250 2.1.5 Ok DATA 354 End data with . test . 250 2.0.0 Ok: queued as 88B61E338B quit 221 2.0.0 Bye Connection closed by foreign host.
自分宛にメールを送信してみたところ、以下の通り、メール受信後にDirectoryが自動で作成されました。
www:~# ls -al ~user001/Maildir/ 合計 20 drwxr-xr-x 5 user001 adm 4096 2010-01-05 11:17 . drwxr-xr-x 6 user001 adm 4096 2010-01-05 11:17 .. drwx------ 2 user001 adm 4096 2010-01-05 11:17 cur drwx------ 2 user001 adm 4096 2010-01-05 11:17 new drwx------ 2 user001 adm 4096 2010-01-05 11:17 tmp
newフォルダ内に、先ほどのメールが1ファイルで保存されています。
www:~# ls ~user001/Maildir/new/ 1262657864.30555_0.open www:~# less ~user001/Maildir/new/1262657864.30555_0.open Return-Path: <user001@example.jp> X-Original-To: user001@open.example.jp Delivered-To: user001@open.example.jp Received: from unknown (unknown [192.168.0.2]) by mail.example.jp (Postfix) with SMTP id 88B61E338B for <user001@open.example.jp>; Tue, 5 Jan 2010 11:17:26 +0900 (JST) Message-Id: <20100105021738.88B61E338B@mail.example.jp> Date: Tue, 5 Jan 2010 11:17:26 +0900 (JST) From: user001@example.jp To: undisclosed-recipients:; test