WordPressのローカル開発環境でのメール送信をマスターする方法
更新日:2025/03/01

WordPressサイトを開発していると、お問い合わせフォームやユーザー登録などのメール送信機能をテストしたいときがあります。本番環境ならサーバーの設定で簡単に送信できますが、ローカル環境ではどうすればいいのでしょうか?
今回は、Docker環境を使ったWordPressのローカル開発で、メール送信をテストする方法を解説します。
WordPressのメール送信の仕組みを理解する
まず、WordPressがどのようにメールを送信しているのかを理解しましょう。
WordPressは内部的にwp_mail()
という関数を使ってメールを送信します。この関数はPHPの標準関数であるmail()
のラッパーですが、実際にはPHPMailerライブラリを利用しています。
基本的な流れは次のとおりです:
- プラグイン(Contact Form 7など)がフォーム送信を処理
wp_mail()
関数を呼び出し- PHPMailerを使って実際のメール送信を実行
- サーバーのメール設定を使って配信
レンタルサーバー環境では、WordPress(およびContact Form 7)が特別なSMTP設定をしなくても、サーバーに既に設定されているメールシステムを自動的に利用できる点が大きな特徴です。
本番環境のレンタルサーバーでは、サーバー側のメール設定が自動的に使われるため、特別な設定なしでメールが送信できます。しかし、ローカル環境では通常メールサーバーが設定されていないため、デフォルトでは送信できません。
ローカル環境でメール送信をテストする方法
ローカル開発環境でメール送信をテストするには、主に以下の方法があります:
1. MailHogを使った方法(おすすめ)
MailHogは、開発環境で使用するダミーのSMTPサーバーです。メールを実際に外部に送信せず、専用のWeb UIで内容を確認できます。
Docker Composeでの設定例
services:
db:
image: mysql:8.0
# 省略...
wordpress:
image: wordpress:latest
depends_on:
- db
- mailhog
# 省略...
mailhog:
image: mailhog/mailhog
ports:
- "8025:8025" # Web UI
- "1025:1025" # SMTP Server
WordPressとの連携方法
MailHogと連携するには、WordPressのSMTP設定を変更する必要があります。「WP Mail SMTP」などのプラグインを使うと簡単です:
- WordPressの管理画面からプラグインを追加
- 「WP Mail SMTP」をインストールして有効化
- 設定画面で「Other SMTP」を選択
- 以下のように設定:
- SMTPホスト:
mailhog
(Dockerネットワーク名) - SMTPポート:
1025
- 暗号化:
無し
- 認証:
オフ
- SMTPホスト:
メールの確認方法
フォームを送信した後、ブラウザでhttp://localhost:8025
にアクセスすると、MailHogのWeb UIが表示されます。ここで送信されたすべてのメールの内容を確認できます。
2. WP Mail SMTPプラグインを使って外部SMTPサーバーと連携する方法
本番環境に近い形でテストしたい場合は、GmailやAmazon SESなどの外部SMTPサービスを利用する方法もあります。
- 「WP Mail SMTP」プラグインをインストール
- Gmailなど使用したいSMTPサービスを選択
- 必要なAPIキーや認証情報を設定
- テストメールを送信して確認
3. メール送信をシミュレートする方法
実際にメールを送信せず、送信処理だけをシミュレートする方法もあります。
Contact Form 7の場合、「追加設定」タブに以下のコードを追加するだけです:
skip_mail: on
この設定を有効にすると、メールは送信されませんが、フォーム処理自体は正常に完了します。
Contact Form 7でのテスト手順
Contact Form 7は多くのWordPressサイトで使われているお問い合わせフォームプラグインです。ローカル環境でのテスト手順を詳しく見ていきましょう。
MailHogを使ったテスト手順
- Docker Composeファイルを更新して、MailHogサービスを追加
- コンテナを再起動:
docker-compose up -d
- WordPressにWP Mail SMTPプラグインをインストール
- SMTP設定を行う(ホスト:mailhog、ポート:1025)
- Contact Form 7のフォームに必要事項を入力して送信
- ブラウザで
http://localhost:8025
にアクセスし、メールを確認
これで、実際のメールアドレスにメールを送信することなく、ローカル環境でフォームの動作確認ができます。HTMLメールの表示確認やメールヘッダの確認も可能です。
デバッグとトラブルシューティング
メール送信でエラーが発生した場合は、以下の方法でデバッグできます:
WordPressのデバッグログ
wp-config.php
に以下の設定を追加すると、詳細なログが記録されます:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WPCF7_DEBUG', true);
PHPMailerのデバッグ設定
フック機能を使ってPHPMailerのデバッグモードを有効にすることもできます:
add_action('phpmailer_init', function($phpmailer) {
$phpmailer->SMTPDebug = 2;
$phpmailer->Debugoutput = 'error_log';
});
まとめ
ローカル開発環境でのWordPressメール送信テストには、MailHogを使う方法が最も簡単で効果的です。Docker環境と組み合わせることで、本番環境に影響を与えることなく、安全にメール機能のテストができます。
実際のプロジェクトでは、開発段階ではMailHogなどのダミーサーバーを使い、ステージング環境や本番環境では実際のメールサーバー設定を使うという使い分けが一般的です。
これらの方法を活用して、WordPressサイトのメール機能を効率的にテストしましょう!

-
検索
(例) debug search etc.. -
カテゴリー
-
mixhostでのWordPress利用について
更新日:2024/04/02
299 view
-
scrollHint
更新日:2024/03/13
250 view
-
XML Sitemap Generator for Google不具合のダウングレード対応、代替プラグイン
更新日:2024/06/13
236 view
-
【SnowMonkey】納品までのフローまとめ
更新日:2025/02/15
163 view
-
ワードプレスでフォントを変えたいとき、プラグインを使えば初心者でも簡単
更新日:2025/02/16
144 view
-
【Googleサーチコンソール】検索画面で表示させたくない「Googleのインデックス削除」
更新日:2024/06/07
130 view
-
【Snow Monkey】ショートコードで編集画面で任意の場所にHTMLファイルを挿入
更新日:2025/04/04
124 view
-
キーワード検索で上位表示させる方法【SEO】
更新日:2023/10/28
120 view
-
tailwindcss使い方
更新日:2024/03/13
120 view
-
Recline: GitHub Copilotで動作するClaude 3.5 Sonnet搭載の開発支援ツール
更新日:2025/01/20
110 view
-
WordPressプラグイン「All-in-One WP Migration」のトラブル
更新日:2022/03/31
84 view
-
ワードプレスセキュリティー対策まとめ【2025年】「site guard wordpress」「BackWPup バージョン5でUI変更!?」
更新日:2025/02/25
76 view
-
SSHを使用してGitHubのリポジトリをクローン、複数の接続元で公開鍵をディレクトリで区別する方法
更新日:2025/01/13
47 view
-
VSCodeで開発効率を劇的に向上させる!Roo-Clineプラグイン完全ガイド【Gemini API】
更新日:2025/02/08
43 view
-
Express、FastAPIを使用し、二重fetch構成のメリット
更新日:2025/03/28
41 view
-
「JSONスキーマ」と「Few-shot Learning」で実現する次世代生成AIソフトウェア開発の可能性
更新日:2025/02/12
40 view
-
WordPressの無料画像素材のおすすめダウンロードサイト!
更新日:2022/02/22
35 view
-
リファクタリング【VSCode Javasctipt Python】
更新日:2025/03/09
35 view
-
形態素解析とは?初心者でもわかるツールの使い方と実践例
更新日:2025/02/08
33 view
-
【Next.js AWS】音声文字起こし&要約、分析アプリケーション(S3)(Transcribe)(Amazon Bedrock)
更新日:2025/02/13
30 view