/etc/aliases にプログラムを指定する
Postfixでは、/etc/aliases にエイリアスを指定してメールを指定したアドレスに転送したりできるが、ここにプログラムも指定できるらしいので試してみた。
プログラムとメールアドレスの混在も可能。
/etc/aliases
foobar: "| /bin/cat > /tmp/test.eml" fizbar: john@example.com, "| /bin/cat > /tmp/test.eml", smith@example.com
Postfix 再起動。
# service postfix restart
以下のようにメールを送信。
# mail foobar Subject: test test test test . Cc:
/tmp/test.eml を確認。
# cat /tmp/test.eml From root@example.com Thu Dec 13 22:59:28 2007 Return-Path: <root@example.com> X-Original-To: foobar Delivered-To: foobar@example.com Received: by example.com (Postfix, from userid 0) id 3BF885C0FC; Thu, 13 Dec 2007 22:59:28 +0900 (JST) To: foobar@example.com Subject: test Message-Id: <20071213135928.3BF885C0FC@example.com> Date: Thu, 13 Dec 2007 22:59:28 +0900 (JST) From: root@example.com (root) test test test
うまくいった。アイデア次第でいろいろできそう。要するに標準入力(stdin)にメール全体が渡されるので、標準入力を使うプログラムを書けばよい。