突然、メールの送信が出来なくなっている事に気が付いた。インターネットとの接続は、メールの送信以外正常だ。
きっと25番ポートのみブロックされている。テストで不正なメール(バグでFromが空白だとか)をたくさん送信したからだろうか?
とにかく、夜中なのでプロバイダに連絡が取れない。
翌朝、プロバイダに問い合わせたところ、OP25Bが実施されたとの事。ホームページ上に記述があるとの事だが、小さく書いてあるだけだった。予定もアバウトに「6月1日から随時実施します。」と書いてあるだけだった。散々苦情を言わせてもらった。
翌日にはホームページがわかりやすく修正してあった。ご苦労さん。
肝心の対応だが、以下にまとめておく。
メーラーの設定
あきらはYahoo!のフリーメールと、レンタルサーバのメールしか使っていない。プロバイダとはメールアドレスを契約していない。
無駄だからだ。
このために対応が必要になったが、いたって簡単。送信サーバーのポートを 587 に変更すればいい。
これについては、ネットですぐ検索できる。
開発環境(PHPからのメール送信)の設定
ネットで OP25B 対策を検索しても、自宅サーバの例はあっても、開発環境の例が見つからない。
これはなかなか解らなかった。かなり試行錯誤した。
とにかく、メーラーと同じ動作をMTAにさせればいいはず。
とはいうものの、MTAの設定は専門外なので、取り合えず PEAR の Mail + Net_SMTP で代用していた。
しかし、本番環境のレンタルサーバに PEAR をインストールするのが面倒だ。
さらに、開発用と本番用のソースを別管理するのも好ましくない。
となると、やはりMTAでの対応が良さそうだ。
sendmailの設定は懲りているので、Postfixを使う事にした。
Postfixの場合、柔軟に対応できそうだ。
Fedora Core の場合、alternatives で メールソフトや Java 環境を切り替えるようになっているので注意が必要だ。
その他、パッケージ cyrus-sasl-plain が必要らしい。これはすでにインストールされていた。
# yum -y install postfix # alternatives --config mta --- Postfix を選択 --- # service sendmail stop # chkconfig sendmail off # service postfix start # chkconfig postfix on
メールアカウントをテーブルにしておく。
/etc/postfix/account を作成。
# vi /etc/postfix/account メールサーバ アカウント:パスワード # postmap /etc/postfix/account
ここからが苦労した所!
ローカル開発環境なので、ドメイン設定などはしていない。
PHP->Apacheでメールを送信すると apache@localhost.localdomain が送信したことになる。
これをメールアカウントに置き換える。
/etc/postfix/canonical に一行追加。
# vi /etc/postfix/canonical apache@localhost.localdomain アカウント@メールサーバ # postmap /etc/postfix/canonical
Postfixでポート 587 を有効にする。
/etc/postfix/master.cf の以下の行のコメントを取る。
# vi /etc/postfix/master.cf submission inet n - n - - smtpd -o smtpd_etrn_restrictions=reject -o smtpd_client_restrictions=permit_sasl_authenticated,reject
あとはPostfixの設定を追加・変更して再起動する。
/etc/postfix/main.cf 該当個所。
# vi /etc/postfix/main.cf relayhost = [メールサーバ]:587 smtpd_sasl_auth_enabled = yes broken_sasl_auth_clients = yes smtpd_sasl_password_maps = hash:/etc/postfix/account smtpd_sasl_security_options = noanonymous smtpd_sasl_mechanism_filter = cram-md5,plain,login sender_canonical_maps = hash:/etc/postfix/canonical # service postfix restart
今のところ、順調に動いている。
くれぐれも SPAMメールに悪用しないでください!
この記事とても助かりました。
私もMTAの設定は苦手で。。。
簡単ですが、お礼まで。
OP25Bの存在を知らなかったので、Postfixの設定で試行錯誤してました。
参考になりました。
どうもありがとうございます!