2019.03.29

WordPress

wordpressからメールが送信できない時のチェック項目

花と手紙のイメージ

wordpressからフォームなどを利用してメールを送信するときに、エラー表示が出てメールが送れないときや、そもそもエラー表示もなくメールだけが届かないときなど、トラブルが起きることがあります。
wordpressからメールを送信する場合、ローカルでの設定だけでなくサーバーサイドとの連携によってメール送信を実現しているので、バックエンド側でも確認するべき点があります。
今回はそんな確認事項についてご紹介します。

メール送受信設定時の確認事項

メールプラグインの設定やバージョン確認

wordpressのメールプラグインの設定を確認しましょう。送信先や送信内容などと合わせて、メールプラグインのバージョンが古い場合など、アップデートを行いましょう。

チェックツールの確認

メールプラグインにはデバックモードやチェックモードが実装されていることがあります。wordpressのデバックモードと連携するものなどメール送信時の挙動を確認できるものもあるので、マニュアルを参照しながら確認しましょう。

phpのバージョンの確認

wordpressのメールプラグインやwordpress自身が対応しているphpのバージョンか確認しましょう。
必要要件を満たしていない状態ではプラグインがきちんとした動作を行うことができません。

mb_send_mail関数の動作確認

phpのmb_send_mail関数の動作を確認します。wordpress自体がメールの送信動作を行えているかの挙動を確認できます。逆に言えばmb_send_mail関数が動作しているのにメールが届かない場合、wordpress外の要因でエラーが出ていると考えられます。
サンプルコードは以下です。

<?php
//メールの情報を初期化
$sTo          = '';
$sFromMail    = '';
$sSubject     = '';
$sMessage     = '';
$sHeaders     = '';

//メールの情報を設定
$sTo          = '送信先を入力';
$sFromMail    = '送信元を入力';
$sSubject     = '件名';
$sHeaders     = "From: {$sFromMail}\r\n";
$sMessage     = "本文を入力;

//言語と文字コードを設定
mb_language("Japanese"); 
mb_internal_encoding("UTF-8");

//メールの送信
if(mb_send_mail($mailto,$title,$message,$option)){
	echo "送信成功";
}else{
	echo "送信失敗";
}
?>

SMTPサーバーとMTAの有無の確認

MTAとはMail Transfer Agent、メール転送エージェントの略で、電子メールを送信するためのメールサーバの機能です。これがSMTPサーバーにないとwordpressはメール送信動作を完了できません。代表的なMTAにsendmail、Postfixなどがあります。
またレンタルサーバーによってはSMTPサーバーの設定がない場合や有料プランであることもあります。利用しているサーバーにSMTPサーバーが実装されているか、SMTPサーバーにMTAは実装されているかを確認しましょう。

まとめ

webサイトにとってメールやフォームが動作していないと、せっかくのユーザーからのエンゲージメントを受け取ることができず、不備に気づくのが遅れると大きな機会の損失になります。動作チェックには万全を期しましょう。

SHARE

この記事の筆者

Web&Soundクリエイター 田村 培修

Web&Soundクリエイター 田村 培修

楽器とパソコンのキーボードを使い分ける当社のマルチクリエイター。e-sportsに興味津々であれこれ情報を収集中。

WEBSITE DESIGN REQUEST

ホームページ制作・リニューアルの
ご相談はお気軽に

TEL 06-6537-9941 平日 9:00〜19:00

〒550-0012 大阪府大阪市西区立売堀2-5−41

ホームページ制作を相談する