メール受信のテストを行いたいが、そのためにメールサーバを構築するのは手間がかかります。DockerのMailHogを使用すれば、簡単にメール受信の環境を構築することができます。
記事の目次
Dockerのバージョンを確認する!
MailHogは、Docker Hubで公開されています。Docker Hubのページで使用するバージョンを確認します。
DockerでMailHogを起動する!
DockerでMailHogを起動します。
$ docker run --name mailhog --rm -d -p 8025:8025 -p 1025:1025 mailhog/mailhog:v1.0.1 Unable to find image 'mailhog/mailhog:v1.0.1' locally v1.0.1: Pulling from mailhog/mailhog df20fa9351a1: Pull complete ed8968b2872e: Pull complete a92cc7c5fd73: Pull complete f17c8f1adafb: Pull complete 03954754c53a: Pull complete 60493946972a: Pull complete 368ee3bc1dbb: Pull complete Digest: sha256:8d76a3d4ffa32a3661311944007a415332c4bb855657f4f6c57996405c009bea Status: Downloaded newer image for mailhog/mailhog:v1.0.1 465588d3a77721ab671278e7760d6ce0ae2ce7f74c21fcd048125f4ad2e9b04d $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE prom/prometheus latest b816c2dd5971 9 days ago 223MB mailhog/mailhog v1.0.1 4de68494cd0d 2 years ago 392MB docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 465588d3a777 mailhog/mailhog:v1.0.1 "MailHog" 20 seconds ago Up 19 seconds 0.0.0.0:1025->1025/tcp, :::1025->1025/tcp, 0.0.0.0:8025->8025/tcp, :::8025->8025/tcp mailhog
メール送信を行う!
メール送信は、1025版ポートに対して行います。
メールの受診画面を確認する!
Webブラウザより、8025ポートで受信メールを確認します。例えば、「vmsans01」のサーバ上で起動した場合は、以下のURLでアクセスします。
http://vmsans01:8025
テストで、ローカルのPC環境で起動して、以下のURLで利用することも多いでしょう。
http://localhost:8025
MailHogをsystemdで自動起動する!
MailHogをsystemdで自動起動するために、systemdのUnitファイルを作成します。
$ cat /etc/systemd/system/mailhog.service [Unit] Description=MailHog container Requires=docker.service After=docker.service [Service] Type=simple ExecStart=/usr/bin/docker run --name mailhog --rm -p 8025:8025 -p 1025:1025 mailhog/mailhog:v1.0.1 ExecStop=/usr/bin/docker container stop mailhog User=usradmin [Install] WantedBy=multi-user.target
起動と停止のテストを行います。
$ sudo systemctl daemon-reload $ sudo systemctl start mailhog.service $ sudo systemctl status mailhog.service $ sudo systemctl stop mailhog.service $ sudo systemctl status mailhog.service
MailHogの自動起動を有効にします。
$ sudo systemctl enable mailhog.service Created symlink /etc/systemd/system/multi-user.target.wants/mailhog.service → /etc/systemd/system/mailhog.service.
おわりに
DockerのMailHogを利用すると簡単にメール受信のテスト用の環境を用意することができます。
参考情報
関連記事
関連書籍(Amazon)