MailDev を使ったローカルメールサーバーのセットアップ

MailDev を使ったローカルメールサーバーのセットアップ

岩佐 孝浩
岩佐 孝浩
3 min read
MailDev

はじめに

アプリケーション開発時、MailDev はローカル環境内でメールの送受信を行うための優れたツールです。本投稿では、Docker を使用して MailDev をセットアップし、メール機能をテストする手順を解説します。

MailDev を Docker でセットアップする

手順 1: Dockerfile を作成する

以下の例を参考にして Dockerfile を作成してください。

FROM node:14-alpine
EXPOSE 1080
EXPOSE 1025
RUN npm i -g maildev
CMD ["maildev"]

MailDev は次の 2 つのポートを使用します。

  • 1080 : 管理コンソール用
  • 1025 : SMTP 用

これらのポートはオプションでカスタマイズ可能です。

手順 2: Docker Compose 設定を作成する

以下の内容で docker-compose.yml ファイルを作成してください。

version: '3'
services:
  mail:
    container_name: mail
    build: ./
    ports:
      - "1080:1080"
      - "1025:1025"

手順 3: Docker コンテナを起動する

以下のコマンドを実行して Docker コンテナを起動します。

docker-compose up -d mail

管理コンソールへのアクセス

コンテナを起動後、ブラウザを開いて http://localhost:1080 にアクセスすると、MailDev 管理コンソール を利用できます。

このコンソールを使用すると、MailDev サーバーに送信されたメールを表示および管理できます。

Management Console

メール機能のテスト

メールを送信する

Windows を使用している場合、PowerShell の Send-MailMessage コマンドでテストメールを送信できます。以下はその例です。

Send-MailMessage `
  -from 'dev@localhost' `
  -to 'dev.to@localhost' `
  -subject 'Test Subject' `
  -body 'This is a test email.' `
  -smtpServer 'localhost' `
  -port 1025

メールを受信する

メールを送信した後、MailDev 管理コンソール に移動して、メールが受信されていることを確認してください。

Received Email

まとめ

MailDev を使用することで、アプリケーション開発中のメール機能テストが容易になります。Docker を活用することで、最小限の設定でローカルメールサーバーをセットアップできます。

Happy Coding! 🚀

岩佐 孝浩

岩佐 孝浩

Software Developer at KAKEHASHI Inc.
AWS を活用したクラウドネイティブ・アプリケーションの要件定義・設計・開発に従事。 株式会社カケハシで、処方箋データ収集の新たな基盤の構築に携わっています。 Japan AWS Top Engineers 2020-2023