はじめに
タイトルのとおりです。
WordPressでメールを確認できる環境をDocker構築します。
VSCodeでデバッグできる環境を作る記事も書いてますので、こちらも参考にしてください。
各ファイルの準備
下記のディレクトリ構成でファイルを用意してください。
ディレクトリ
public_html(<- プロジェクトのフォルダ名です。なんでも良いです。)
├── docker-compose.yml
└── (WordPressプロジェクトはこの階層に入ります。)
すでにWordPressを開設していて、自身のファイルを利用したいという方は、public_html
の配下にwp-admin
やwp-content
が来るように配置していただければ大丈夫です。
下記で紹介するdocker-compose.yml
で、ホストのファイルをコンテナ側にマウントするように設定しているからです。
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
- db_data:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- .:/var/www/html
mailcatcher:
image: schickling/mailcatcher
ports:
- "1080:1080"
- "1025:1025"
volumes:
db_data:
db
コンテナとwordpress
コンテナに関してはほとんどデフォルトのままです。重要なのはmailcatcher
コンテナになります。docker側の設定はこれだけなのですが、設定画面でSMTPの設定をする必要があります。
SMTPの設定
-
コンテナ起動。public_html階層で
docker-compose up -d --build
-
http://localhost:8000/wp-login.php
にアクセスして、適当な情報を入力して管理者としてログインします。] -
プラグインからSMTP情報を簡単に設定できるプラグインをインストールします。今回は
WP Mail SMTP by WPForms
を使用します(鳥のマークのやつです)。
-
このプラグインを有効化するとサイドバーの下の方に、
WP Mail SMTP
と表示されるので、こちらをクリックして設定を進めます。
-
(ステップ2の6)下記のように設定します。
- SMTPホスト:
mailcatcher
(docker-composeで設定したコンテナ名) - SMTPポート:
1025
(docker-composeで設定した値) - その他:任意→説明を読んで適宜設定してください。特に必要がなければデフォルトのままで大丈夫です。
8.(ステップ3~6の6)デフォルトの内容のまま進めます。ステップ6の6でメール送信テストを行うので、ここで成功することを確認できます。