MailCatcher

概要

EC-CUBEのローカル開発環境を構築する際、Webサーバーの他に別途メールサーバーが必要となります。

本記事ではDockerHubの公開イメージを利用した、メールサーバーを構築する手順について紹介します。

前提条件

Docker for Mac、またはDocker for WindowsがPCにインストールされていることが条件です。

MailCatcherの利用

MailCatcherを利用することで、SMTPのメールサーバーを開発環境に導入することができます。

DockerHubのレジストリからMailCatcherの公開イメージを取得することで、手軽にメールサーバーを導入できます。

EC-CUBEの設定

EC-CUBEの.envファイルに以下の設定を行います。

MAILER_URL=smtp://127.0.0.1:1025

Dockerコンテナの起動

以下2通りの方法があります。

Dockerコマンド

以下のdockerコマンドでSMTPサーバーが利用できるようになります。

$ docker run -d -p 1080:1080 -p 1025:1025 --name mailcatcher schickling/mailcatcher

$ docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED              STATUS              PORTS                                            NAMES
41290748f3ab        schickling/mailcatcher   "mailcatcher --no-qu…"   About a minute ago   Up 58 seconds       0.0.0.0:1025->1025/tcp, 0.0.0.0:1080->1080/tcp   mailcatcher

コンテナの停止、再起動は以下のコマンドです。

# コンテナの停止
$ docker stop mailcatcher

# コンテナの再起動
$ docker start mailcatcher

Docker Compose

また、docker-composeを利用する場合、docker-compose.ymlを作成してください。

version: '3'

services:
  mailcatcher:
          image: schickling/mailcatcher
          ports:
              - "1080:1080"
              - "1025:1025"
$ docker-compose up -d

を実行することで、MailCatcherのコンテナが作成されます。

終了する場合は以下のコマンドです。

$ docker-compose down

メールクライアント

Google chrome 等のブラウザから http://127.0.0.1:1080/ にアクセスすると以下の画面となります。

mailcatcher-image

ブラウザ上でメール送信結果を確認できます。

参考