WP Mail SMTPでテストメール送信エラーがでたときの対処方法
環境
- サーバ: CoreServer
- WordPress: Ver 4.7.1
- WP-Mail-SMTP: Ver 0.10.1
症状
WordPressのプラグイン新規追加でWP Mail SMTPプラグインをインストールし、設定してテストメール送信したところ、結果が「bool(false)」と表示されてしまいました。
ログにエラーらしき箇所を調べたところ、「certificate verify failed」と出ていました。
1 |
Error notice: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed |
対処
試しにWindowsメーラーのBeckyでメール送信できるかやってみましたが、その際に「証明書のチェックをしない」にチェックしたら成功するようになったので、同じようにWP Mail SMTPプラグインのほうもやってみました。
wp-content/plugins/wp-mail-smtp/wp_mail_smtp.phpの153行付近に下記の1行を追加しました。
1 2 3 4 5 6 7 8 9 |
// If we're using smtp auth, set the username & password if (get_option('smtp_auth') == "true") { $phpmailer->SMTPAuth = TRUE; $phpmailer->Username = get_option('smtp_user'); $phpmailer->Password = get_option('smtp_pass'); // 証明書を検証しない(この1行を追加) $phpmailer->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true)); } |
この設定はGUIからはできないみたいですね。
とりあえず、これでメール送信できるようになりました。
証明書の確認をきちんとやる方法もあるのかな?調べてないですが、なにか分かったらリライトしたいと思います。