WP Mail SMTPでメールが送れないときの対処方
WordPressのメールは基本的にwp_mail関数というのが用意されているみたいです。WordPressからメールが行く場合はこの関数を使ってメールしていることになるみたいです。
WordPressの関数からメールが行く場合、迷惑メールになったり色々面倒な事もあります。例えばlogwではメールサーバーは外部のメールサーバーを使っているので問いあわせフォームからメールがくると差出人がApacheとかになっていたりなど。
外部のメールサーバーから送れるようにする
Web、DB、メールなどが分かれている場合は外部のメールサーバーから飛ぶのが良いので、このWP Mail SMTPを使います。設定方法などは通常のSMTP認証と同じなので割愛します。
テストメール送ると失敗する
普通にSMTPの設定すると全然送れません。え?なんで?っていうぐらい送れません。これはプラグインのPHPがデフォルトでSSL証明書を検証してしまうために起きていることみたいです。
プラグインの修正をする
プラグインの修正をしていきます。修正するプラグインのファイル名はwp_mail_smtp.phpというphpがいるになります。
//144行目付近に追加 // Set the other options $phpmailer->Host = get_option('smtp_host'); $phpmailer->Port = get_option('smtp_port'); // 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'); $phpmailer->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));//ここに追記する }
これをアップすれば完了です
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS