/etc/alias
hogehoge:hoge@fuga.com,foo@fuga.com,piyo@fuga.com
fugafuga:hoge@fuga.com,bar@fuga.com,baz@fuga.com
この場合、To:hogehoge,fugafugaでメールを送信すると、hoge@fuga.comに同じメールが2通届いてしまします。
sendmailを使用していた時は重複するメールが自動的に削除されていたようですが、Postfixでは動作が異なるようです。
そこでメールの振り分けや削除に使われるProcmailを使用してみました。
重複メールを削除する設定(全員)を/etc/procmailrcに記述します。
ちなみに個人単位で設定するには、/home/(ユーザ名)/.procmailrcに記述します。
/etc/procmailrc
PATH=/usr/bin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR/
LOCKFILE=$MAILDIR/msgid.lock
:0 Wh:
| formail -D 8192 $MAILDIR/msgid.cache
各ユーザーの.forwardにprocmailを使用する設定を記述します。
これを記述しなければ通常の動作になります。
/home/(ユーザ名)/.forward
"| exec procmail" #ダブルクォーテーション「""」も含めて記述します。
動作としましては、受信したメールのメッセージIDをMaildir/msgid.cacheに保存しておき、同じメッセージIDを持つメールを受信した場合は削除します。
メッセージIDは常にユニークですので、誤って削除されることはありません。
.forwardは転送設定ですので、他のアドレスに転送する場合は"| exec procmail"の次の行から記述します。
この記述を行うと、転送時にローカルに残す為の「~/Maildir/」を記述しなくても強制的にローカルに残されました。
逆に「~/Maildir/」を記述すると、ローカルに2通届いてしまいます。
※Postfix 重複でここに来る方々が多いです。みんな困っているんですね。