qmailで特定のsmtpサーバを経由させる

ダイナミックDNSなんかを使ったメールサーバからメールを送ろうとした場合に、送信先が携帯電話やSPAM対策の厳しいプロバイダなどであると、接続してきたIPから逆引きしたホスト名とsmtpサーバのホスト名が違うためメールの受け取りを拒否されることがある。

これを回避するには、smtproutes というコントロールファイルを作成するとよい。受け取りを拒否されるサーバに対してメールを送信する場合に、自分のプロバイダのSMTPサーバなどを経由させることで、メール送信できるようになる。

qmailのコントロールファイルを格納するディレクトリ(Debian Sarge では /etc/qmail) に smtproutes というファイルを作成して、「(受け取りを拒否されるドメイン名):(経由させるサーバ)」のように記述する。

target1domain.ne.jp:smtp.routing.ne.jp
target2domain.ne.jp:smtp.routing.ne.jp

受け取りを拒否されるドメインの全てのサーバに対して定義する場合は、対象ドメインの頭に「.(ドット)」つける。

target1domain.ne.jp:smtp.routing.ne.jp
.target1domain.ne.jp:smtp.routing.ne.jp