3

認証されたSMTP経由でメールを送信するために、WP Mail SMTPプラグインでワードプレスを使用しています。SMTP サーバーで開いて、そこでリレーできるようにしました。テスト メールが機能します。true と報告され、メールが届きます。ただし、プラグインから wp_mail を使用して送信しようとすると、機能しません - wp_mail は false を返し、電子メールは届きません。$e->getMessage()wp_mailの最後 (実際のメールを送信しようとするとき) の try/catch の catch ブロックからデバッグすることを含め、wp_mail 関数にいくつかのデバッグ コードを入れました。これは言います

SMTP エラー: 認証できませんでした。

ただし、前述のとおり、テスト メールは機能します。

次に、phpmailer オブジェクトのデバッグを開始し、wp_mail 呼び出しとテスト メールの呼び出しを比較しました。exceptions私は、保護されたメンバーがテストメールではなく、私のものに当てはまることに気付きました. 私の呼び出しで wp_mail に入ったときにグローバル phpmailer が存在しないように見えるので、それを使用して wp_mail で作成され $phpmailer = new PHPMailer( true ) ます。 true を false に変更すると (つまり、phpmailer オブジェクトで例外を false に設定すると)、wp_mail が返されるだけではありません。本当だけどメールが届く!

例外をチェックすると認証エラーが発生するのに、例外をチェックしないとメールが届くのはなぜですか? 何か案は?

開発環境で wordpress 3.7.1 と WP Mail SMTP 0.9.3 を実行しています。プラグインのバージョン 0.9.1 を使用した wordpress 3.6.1 で同じ症状が発生しています (テスト メールは機能しますが、wp_mail 呼び出しは機能しません)。

4

1 に答える 1