DockerでWordPress開発環境/MSMTPでGmail経由メール送信

Dockerでのメール送信に送信専用MTA「sSMTP」を使用していましたがBuildすると

と使用できなくなったので代わりに「MSMTP」を使用してメール送信します。

ディレクトリ構成

docker-compose.yml

Dockerのコンテナ定義ファイルdocker-compose.ymlを作ります。
MySQLとWordPressそしてphpmyadminで構成します。

WordPressコンテナwpはカスタマイズしてbuildするとしてカレントディレクトリにDockerfileを置くので「build: .」とします。

Dockerfile

WordPressコンテナwpをカスタマイズするためDockerfileを作ります。

※msmtpの実行パスは/usr/bin/msmtpだがmsmtp-mtaをインストールすることでsendmailのエイリアスが作成され実行パスをsendmailに合わせてくれるらしい。
※パーミッション設定でオーナーをapache実行ユーザのwww-dataにしないとブラウザからのメール送信ができません。

php.ini

コンテナ標準のphp.iniに変更を加えます。

※msmtp-mtaをインストールしない場合は以下に変更すればできると思われる。

メール送信テストファイルも用意しておきます

html/test-mail.txt

msmtprc

MSMTPの設定ファイルmsmtprcも読み込ませます。

※TLS認証チェックをONにしておくと

となり信用できないと怒られたので tls_certcheck off としました。

起動

※初回はbuildオプションをつけて。
次回からは

※php.iniやmsmtprcなど外部から読み込ませるファイルを変更した場合はbuildが必要です。

メール送信テスト

wpコンテナに入ってsendmailを実行します。

※msmtp-mtaをインストールしない場合は「/usr/sbin/sendmail」を「/usr/bin/msmtp」に変更すれば送信できると思われる。

WordPressインストール

http://localhost にアクセスしてWordPressをインストールしましょう。

終了

Dockerの全コンテナ停止します。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする