Sendmail でダブルバウンスメールを破棄するようにする (CentOS 5.5)
ダブルバウンスメールを無視する
まず、"バウンスメール" (bounce) というのは、宛先不明で送信できずに送信元へ戻る不達通知メールのことです。そして、そうやって戻されようとして送信元へ送ろうとしたメールが再び宛先不明で戻されるメールのことを "ダブルバウンスメール" (double bounce) と呼びます。
宛先アドレスが存在しなかったり、送り先のメールサーバーが障害を起こしていた場合などにより、こういったバウンスメールが発生する要因のひとつとなるようですが、他にも、迷惑メール等で、送信元を意図的に不正なアドレスにして、送信先をランダムで送っているような場合にも、このようなダブルバウンスを発生させる要因になります。
体感的な主観では、迷惑メールによるダブルバウンスが大半を占めるのではないかと思っています。
ダブルバウンスメールは Sendmail では通常 "postmaster" 宛てに返却されるらしいのですが、とにかくダブルバウンスが大量に発生すればそれだけ、postmaster へ配信するための処理やメールボックスの容量などが必要となります。
ダブルバウンスメールをもとに何か対応を取れるのなら良いのですが、見てもただ捨てるだけしかできないのであれば、最初から届かない方が都合が良いと思います。特にシステムの処理やリソースを圧迫して、本来正しく届くはずのメールさえ遅延してしまうなどの場合には、むしろダブルバウンスメールは無視すべきものと思います。
CentOS 5.5 では、既定では Sendmail が利用できるようになっているようです。
Sendmail でダブルバウンスメールを破棄したい場合には、"/etc/mail/sendmail.mc" に次の設定を記載します。
define(`confDOUBLE_BOUNCE_ADDRESS', `')dnl
このようにすることで、ダブルバウンスしたメールは送信しないという設定になります。
もし "postmaster" 以外へ配信したいという設定を行う場合は、第二引数の `' を `sysadmin' など、ダブルバウンスメールを配信したいメールアドレスを指定すれば良いようです。ローカルアドレスだけではなく、通常の電子メールアドレスを指定することも可能なようでした。
このように設定を調整したら、次のようにして設定内容を反映させます。
make sendmail.cf
make restart
これで、以降のダブルバウンスメールは自動的に破棄されるようになりました。