Wordpress でサーバ移行を行った時にメールが飛ばない
背景
お名前.com 共有サーバ SD で実行していた Wordpress を AWS に移行する作業が発生した。 共有サーバ SD では/usr/bin/sendmail でメールが出せていたようだが、 引越し先の AWS EC2 では別途用意する必要があった。
SMTP は SendGrid を使い、SPF 設定を行った。こちらは別のページにまとめる。
追加したプラグイン
Check & Log Email を使うと Wordpress から任意のメールアドレスにメール送信テストができる。
WP Mail SMTP by WPForms を使うと、SMTP サーバの設定が柔軟にできる。SendGrid の設定はこのプラグインで行った。 このプラグインの設定中に WPForms Lite というプラグインが同時にインストールされるが、こちらは無効化した(メール送信には問題なかった)
WP Mail SMTP by WPForms を使って SendMail の設定をする際に、SendGrid の API キーが必要になるので用意しておくこと。
確認ポイント
メールが飛ばない可能性として
-
フォーム用プラグインが原因の可能性
-
SPF などの設定が足りない可能性 があるので見ていく。
-
フォーム用プラグインが原因の可能性
クライアントが使っていたフォーム用のプラグインがMW WP Formというものだった。 多機能で美しいフォームができると思う。ただデータ移行を行った直後の送信先メールアドレスが、
hoge@www.test.comという形だった。実際には
hoge@test.comというアドレスであるためメールは届かない。
- SPF などの設定が足りない可能性
こちらは SPF の設定を追加した所、メールが飛ぶようになった。
Wordpress 上でメール送信をテストする
Check & Log Email で自分宛てにメールが飛ぶこと MW WP Form で「管理者メール設定」を自分宛てに変更してメールが飛ぶこと