courierのブラックリストに入れられてしまった場合の対処

1. Courierのブラックリスト

Courierにはブラックリスト機能が備わっている。存在しないメールアドレスに何度もメールを送ったり、ループしたり、maildropの設定をミスっていたりすると、当該メールアドレスへのメールをしばらくの間ブロックしてしまうらしい。
courierでメールの配送テスト中などに、User Unknownとかでメールの配送ミスが連発してしまい、コネクションを確立して宛先を伝えた瞬間にService unavailableとか言われてしまう。コネクションを確立して宛先を、というのは、手動でsmtpをやりとりした際、RCPT TOを入れた後に拒否されてしまう。

shell> grep 456 /var/log/maillog
Oct 27 15:39:20 mailhost courieresmtpd: error,relay=192.168.1.1,from=,to=: 456 Address temporarily unavailable.

ちなみに、この”Address temporarily unavailable.”というエラーメッセージに対するエラーコード、456なんだけれど、smtp over SSLのデフォルトポート番号465と混同してしまいそう。

2. ブラックリストの一覧表示とかクリアとか

ブラックリストに入れられてしまっているので除外したかった。
当初はどこか、/var/dbとかにメールアドレスの一覧が列挙されてて、それを元にブラックリスト扱いされているのかと思った。そのファイルは恐らく存在するんだろうけど、マニュアルには記載がなくて、代わりに実行ファイルのcourierがちゃんと用意されている。
FreeBSDのportsでインストールした状態だと、 /usr/local/sbin/courier に入っていた。
このバイナリに対する公式の説明は下記の通り。

“courier show all” lists all E-mail addresses currently blacklisted for backscatter. “courier clear [email protected]” manually clears from the backscatter blacklist. “courier clear all” removes all addresses from the backscatter blacklist. When Courier encounters a delivery failure to an E-mail address Courier may stop accepting any more messages to the same address in order to minimize generation of so-called “backscatter bounces”. This does not occur in all cases, see “Backscatter suppresion” in Courier’s installation instructions for more information.
courier | courier-mta.org

適当にナナメ読みして使ってみる。

shell> courier show all
[email protected]
shell> courier clear all
shell> courier show all

これでブラックリストから除外されるようになった。

でも気をつけなければいけないのは、ブラックリストに入る純然たる理由があるはずなので、その理由を取っ払わない限り、再度ブラックリストに入れられるであろう、ということ。たいていの場合はmaillogに理由が書いてあるのでそれを読んで対処すること。

検索用
456 Address temporarily unavailable.
courier show all

コメントを残す