特定のドメイン宛のメールを特定のSMTPサーバにリレー
最終更新日時:2007-09-22 13:19:15
Postfix
Postfix
特定のドメイン宛のメールを特定の SMTP サーバにリレー
ここ数年の話なのですが、docomo.ne.jp, ezweb.ne.jp, vodafone.ne.jp 等のサーバ(携帯メール以外のサーバでもたぶんあります)では、SPAM 対策として、自宅サーバのような動的 IP のメールサーバからの SMTP 通信を不正送信だと見なすような設定がされています。
不正送信だと見なされると、その時点で弾かれてしまい、その宛先にメール送信できなくなってしまいます。
これを回避する手段として、不正送信だと見なされてしまうサーバのドメイン宛のメールだけ違う SMTP サーバ(通常、プロバイダの公式メールサーバ)経由にて送信、つまり不正送信だと見なされない SMTP サーバへリレーするようにします。
例えば、docomo.ne.jp, ezweb.ne.jp, vodafone.ne.jp 宛のメールを他の SMTP サーバ経由で送信する(リレー)するには、まず mail.cf に以下を追加して transport 設定を有効にします。
transport_maps = hash:/etc/postfix/transport
次に、上で指定したファイル /etc/postfix/transport を以下のように設定します。
ezweb.ne.jp :[another.mailserver.ne.jp] docomo.ne.jp :[another.mailserver.ne.jp] .vodafone.ne.jp :[another.mailserver.ne.jp]
another.mailserver.ne.jp にはプロバイダのメールサーバなりなんなりの使用可能なメールサーバを指定します。
また、vodafone.ne.jp のようにサブドメイン全てを対象にしたい場合には、'.' を先頭に書いておくことでサブドメイン全てを対象とすることを表せます。
これだけでは設定は有効とならないので、以下のようにして transport ファイルを有効にし、postfix に設定を再読み込みさせます。
# postmap /etc/postfix/transport # postfix reload