■Postfixで携帯宛のメール送信が非常に遅延したり送れないことがある。
[現 象]
Postfixでタイトルどおりで、携帯宛のメール送信が、非常に遅延したり送信できないことがある。
[原 因]
ORDBのデータベースやIPアドレス等で拒否しているらしい。(「らしい」というのは、事実確認ができていないため)
[対 処]
対処方法としては、携帯宛のメールは契約プロバイダのSMTPサーバ経由で送る方法がある。但し、全てのケースで対処できるわけではなく、契約プロバイダのSMTPサーバがリレー中継(自社アカウント以外、つまり自分の独自ドメインのアカウントからのメール送信の中継)してくれることが条件となる。
◆基本的な設定
- 設定は、/etc/postfix/main.cf に下記設定(transport_maps)を追加することで行う (青字は削除、赤字は追加、緑字は変更したものです。)
# 配送条件をtransportファイルで指定 transport_maps =
hash:/etc/postfix/transport |
- /etc/postfix/transport に、下記のように 携帯電話会社のドメインと[ ] 内に契約プロバイダの SMTP
サーバを記述したものを半角空白区切りで、1ドメイン1行で列挙する。下記はDocomoの例。
docomo.ne.jp
:[mail.hoge.ne.jp] .docomo.ne.jp :[mail.hoge.ne.jp]
|
この設定でうまく配送されない場合は、下記のように
smtp を追記する。おやじは経験していないが、master.cf の先頭に smtp が記述されていれば、デフォルトでsmtp
配送になるはずであるがうまくいかないことがあるため。
docomo.ne.jp
smtp:mail.hoge.ne.jp .docomo.ne.jp smtp:mail.hoge.ne.jp
|
- postmap コマンドで transport.db を作成する。設定が完了したらpostfixをreloadしておく。
# postmap /etc/postfix/transport
# /etc/init.d/postfix reload |
以上で、/etc/postfix/transport
で列挙したドメイン宛のメールは契約プロバイダのSMTPサーバに配送されるので、遅延が解消されるはずである。
但し、プロバイダによっては認証が必要なケースがあるので、その場合は別途対策が必要となるので、
こちらを参照してプロバイダのSMTPサーバの認証対策をすること。
Top Pageへ 戻る