PostfixからのメールをSMTP認証で他のメールサーバを経由するには

通常Postfixから外部ドメインにメールが送信される場合、直接相手メールサーバのSMTPポート(25番)に接続してメール配送しようとします。

しかし、自宅に建てたサーバだとプロバイダのOP25B対策などによってメールが送れないことが発生します。
そこで、Postfixから外部ドメインにメールが送信されるときは、プロバイダが用意しているメールサーバやGmailを経由して外部に送信するように設定したいと思います。

OP25Bとは

プロバイダ側の制御によって、外部に向かうSMTPポート(25番)の通信が遮断されています。

インターネットサービスプロバイダ(ISP)の悪意ある顧客が自前のメールサーバからスパム(いわゆる迷惑メール)を送信したり、SMTP拡大型のウイルスに感染したPCからウイルスメールが送信されることなどを防止するために、ISP側で許可した特定のサーバ以外のSMTP(通常使用されるTCPポートの25番)の送信をブロックするという対策方法である。

では、どうやって回避するのか

SMTPポート(25番)の通信は遮断されておりますが、SUBMISSIONポート(587番)やSMTPS-AUTHポート(465番)は遮断されておらず
なおかつ、後者のポートはユーザ認証がなければメール送信を受け付けない設定になっているためメールを送信する事前にユーザアカウントの認証を取れば問題なく送れます。

実際の設定を行う前にプロバイダなどから提供されている以下の情報を手元に集めておいて下さい。

  • SMTPサーバのホスト名・・・※1
  • メールアドレス・・・※2
  • メールアカウント名(基本的にはメールアドレスと同じであることがほとんどです)・・・※3
  • メールアカウントのパスワード・・・※4
  • SSL/TLS認証が必須であるか・・・※5

実際の設定を見ていこう

使用するメールアカウント情報を保存します

{※1}、{※3}、{※4}をそれぞれ、置き換えてください

送信されるメールアドレスを変更するための情報を保存します

{※2}を置き換えてください

Postfixに設定を行います

{※1}を置き換えてください

メールアカウント情報をハッシュ化します

Postfixを再起動

テストメール