2013年3月25日月曜日

すべての送受信メールをPostfixで取得してみる

スズキです。

"always_bcc"の設定で可能です。(BCCを設定し受信する形となります)
下記のように、すべての送受信メールを受信するメールアドレスを指定し、Postfixをリスタートします。
# cat /etc/postfix/main.cf
...
always_bcc = zzz@suz-lab.com

まずは送信のテストです。
次のようにメールを送ってみると、
# mail yyy@cloudpack.jp
Subject: Send Test
Send Test
.
EOT
下記のようにログが出力され、
... postfix/pickup[3674]: ...: uid=500 from=<xxx>
... postfix/cleanup[3697]: ...: message-id=<...@...>
... postfix/qmgr[2379]: ...: from=<xxx@...>, size=553, nrcpt=2 (queue active)
... postfix/smtp[3703]: ...: to=<yyy@cloudpack.jp>, relay=..., delay=1.1, delays=0.04/0.02/0.33/0.72, dsn=2.0.0, status=sent (...)
... postfix/smtp[3706]: ...: to=<zzz@suz-lab.com>, relay=..., delay=1.1, delays=0.04/0.03/0.39/0.66, dsn=2.0.0, status=sent (...)
... postfix/qmgr[2379]: ...: removed
"always_bcc"で設定したメールアドレスにも送信されていることが確認できます。

次に受信のテストです。
下記のように送信して(受信させて)みると、
# cat smtp.txt
HELO localhost
MAIL FROM: yyy@cloudpack.jp
RCPT TO: xxx@xxx.xxx.xxx
DATA
SUBJECT: Recieve Test

Recieve Test
.
QUIT
# nc xxx.xxx.xxx.xxx 25 < smtp.txt
下記のようにログが出力され、
... postfix/smtpd[3717]: connect from unknown[...]
... postfix/smtpd[3717]: improper command pipelining after HELO from unknown[...]
... postfix/smtpd[3717]: ...: client=unknown[...]
... postfix/cleanup[3782]: ...: message-id=<...>
... postfix/qmgr[2379]: ...: from=<yyy@cloudpack.jp>, size=492, nrcpt=2 (queue active)
... postfix/smtpd[3717]: disconnect from unknown[...]
... postfix/local[3785]: ...: to=<xxx@...>, relay=local, delay=0.08, delays=0.04/0.03/0/0.01, dsn=2.0.0, status=sent (...)
... postfix/smtp[3786]: ...: to=<zzz@suz-lab.com>, relay=..., delay=1.3, delays=0.04/0.03/0.47/0.76, dsn=2.0.0, status=sent (...)
... postfix/qmgr[2379]: ...: removed
"always_bcc"で設定したメールアドレスにも送信されていることが確認できます。

ということで、送受信でメールが取得できていることが確認できました。

あっさりできた!
--------
http://www.suz-lab.com

0 コメント: