PostfixでOCNのOP25Bを乗り越えてメールを送る


※この記事はbellmega.com(旧サイト)で2011/10/6に公開したものです。

今回のサーバ構築でかなりハマったポイントです。せっかくサーバ立てたのになかなかメールが送れませんでした。最終的に思わぬ解決策が出てきてビックリと言うよりゲッソリですよ。

今回のポイントとなるキーワードが「OP25B」です。簡単に言うと、スパムメールの踏み台とされないようにSMTPの通常ポート25番を使用しない仕組みです。大手のプロバイダは設定されていることが多いのですが、私の契約しているOCNでも2007年より導入されていました。プロバイダでこれが設定されている場合、MTAに適切な設定を与えないと外部にメールを送信することができません。

通常、MTAでOP25Bに対応するには、

  • 適切な送信サーバ・送信ポートの設定
  • 送信サーバに対応した認証の設定

が必要になります。具体的にはこちらのページのような手順を踏む必要があるのですが、ところがOCNとPostfixの組み合わせの場合、これがどうもうまくいきません。メールを送ろうとしても、maillogに下記のようなメッセージが表示されて失敗してしまいます。

said:555 Unsupported option: AUTH=<> (in reply to RCPT TO command)

これについて調べたところ、こちらのページに詳細が書かれていました。

Postfixを使用していてプロバイダがOCNの場合、Submissionポート(587番)の中継用SMTPサーバに転送する必要があるが、SMTP-AUTH時にPostfixがデフォルトでMAIL FROM: に”AUTH=<>”を付加するため、「said:555 Unsupported option: AUTH=<> (in reply to RCPT TO command)」と拒否されてしまう。
対策としては、PostfixにパッチをあてMAIL FROM: に”AUTH=<>”を付加しないようにするか、条件付で外部でSMTP中継をしてくれるサービスがあるのでそれを使用する方法もある。

Postfixにパッチを当てないと解消されないということでした。というわけでこのパッチを当てようと頑張ったのですが、メイクに必要なモジュールがなかなか揃わず大苦戦。結局最後まで認証関連のモジュールをコンパイルできませんでした。負け犬め。

最終的にどうしたかというと、こちらのスレッドに書かれている方法で解決することが出来ました。簡単にまとめると、通常OCNでは「smtp.vc○○.ocn.ne.jp」というメールサーバをSMTPサーバと設定するようにヘルプに書かれているのですが、このうち「vc」を取っ払って「smtp.○○.ocn.ne.jp」とだけ設定してしまえばよいそうです。こうすればポート25でメール送信できるというだけでなく、なんと認証すら不要となります。これでメールも送れました。

はー何だ何だ、あっさり解決したなー・・・ってOP25Bはどこへ行ったんじゃー!


コメント(1件)

コメント投稿フォーム