wp_mail関数はワードプレスのメール送信の組み込み関数です。メールが届かないときの原因調査と修正方法を解説いたします。
1 ワードプレスの メール送信エラーのログを取る
ワードプレスのメール送信ログを取る、WP Mail Logging というプラグインをワードプレスの管理画面>プラグイン>新規追加 よりインストール有効化します。
このプラグインはすべてのメール送信を記録して、エラーがある場合はそのエラーの内容も記録してくれるプラグインです。
2 メール送信してみてログを確認する
次にメール送信をワードプレスからしてみて、先ほどインストールしたプラグインのログを確認してみましょう。
ワードプレスの管理画面>ツール>WP Mail Log よりメール送信のログを確認できます。
■メールログが入らない場合
この場合、wp_mail関数 が使用されて、メール送信される前に何らかのエラーで処理が停止している可能性が高いです。
wp_mail関数 の手前の処理に問題がないか確かめる必要がございます。
参考
ワードプレス(WordPress)でエラーログを記録して、サイトの保守管理を向上させよう
■メール送信のエラーがある場合
メール送信に失敗し、エラーがある場合、エラーの列に ! マークが表示され、そこにマウスを充てるとエラー内容が表示されます。
この場合「Invalid address (FROM)と記載がありますので、送信元アドレスが、メールアドレスになっていない という意味になります。
その他のよくあるメール送信エラー
・your host may have disabled the mail() function
→サーバーがメール送信を許可していないようです。サーバーの設定をご確認ください。
・Call to undefined function wp_mail()
→ワードプレスのコアファイルに含まれるwp_mail 関数がないという事です。おそらく更新等によってファイルの欠損や破損があるかと思われます。
・Request is missing required authentication credential. ,UNAUTHENTICATED, 401 または403エラー
→メール送信のためのサーバー側のSMTP(メール送信の仕組み)もしくはGoogleのSMTPの、何らかの認証に失敗しています。
以下を確認する必要がございます。
①メール送信のSMTP(メール送信プロトコル)は何を使用していますか?
②SMTPの認証設定は正しいですか?
③Google SMTPの場合、送信を許可するかの認証の許可メールが来ていませんか?
④Google SMTPの場合、SMTP認証設定が現状GoogleのSMTPが許可しない古いものになっていませんか?
■エラーがないのに届かない場合
この場合、送信されているが、サーバー側もしくはメールを受け取るソフトウェア側で、迷惑メールとしてマークされ遮断されている可能性があります。
①迷惑メールとしてマークされないように、送信元とSMTPのドメインが一致するようにする
②SPFレコードを設定する
等の方法がございます。
WordPress ワードプレスのエラーの修正、復旧、トラブル対応代行いたします。お気軽にご依頼・ご相談お送りください。