メールプラグインのSMTP AUTHが無効化されない
bluem > メールプラグインのSMTP AUTHが無効化されない @ 2010/9/29 23:58 |
---|
メールプラグイン基本設定>オプションにおいて、SMTPホストを指定し、SMTPユーザ、SMTPパスワードいずれも空欄にしています。
メールプラグインの投稿時の通知メールが来ないので、MTAのログを調べてみると、SMTP Authが失敗している旨のエラーが出ていたため、 /cake/libs/controller/components/email.phpの697行目
を
に書き換えたら通知メールが来るようになりました。 SMTP Authを使わないつもりでも強制的にSMTP Authコマンドが流れていたようです。 どうもMTAによっては、SMTPコマンドのAUTH LOGINを無視できるものとそうでないものがあるようです。 DeepMailという非オープン系の独自MTAで上記症状が出ましたが、別に使用しているSuSE LinuxとQmailベースのアプライアンスサーバではこの症状は発現しませんでした。 |
ryuring > Re: メールプラグインのSMTP AUTHが無効化されない @ 2010/9/30 0:58 |
---|
情報提供ありがとうございます〜。
ただ、CakePHPコアのハックでありながら、需要があまり見込めなさそうなので、解決方法をTIPSとして残しておきたいと思います。 http://project.e-catchup.jp/issues/1059 Twitter:@ryuring |
bluem > Re: メールプラグインのSMTP AUTHが無効化されない @ 2010/10/1 11:25 |
---|
/baser/plugins/mail/controllers/mail_controller.phpの379行目付近
には、SMTP AUTHのユーザ名・パスワードがブランクで入ります。 なので、先の投稿で示したisset関数の条件式がTrueとなってしまい、無用なSMTP AUTHが働いてたわけです。 それで、ユーザ名・パスワードがブランクの場合はnullをセットするよう
にすることでハッピーになれました。 |
ryuring > Re: メールプラグインのSMTP AUTHが無効化されない @ 2010/10/1 13:09 |
---|
なるほど、Baser側で対処できますね。
とりあえず修正ファイルを作成しました。 http://project.e-catchup.jp/issues/1059 本日リリースの1.6.5に反映されます。 bluem さんありがとうございました。 Twitter:@ryuring |