MailDev - ローカル環境メールサーバー

MailDev - ローカル環境メールサーバー

岩佐 孝浩
岩佐 孝浩
2 min read
MailDev

アプリケーションの開発時には、 MailDev はローカル環境内でメールの送受信を行うのに便利です。

MailDev 起動

以下の例を使用して、 Dockerfile を作成してください。

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

MailDev は、マネジメントコンソール用のポート 1080 と SMTP 用のポート 1025 の2つのポートを使用します。 これらはオプションで変更できます。

以下の例を使用して、 docker-compose.yml を作成してください。

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

以下のコマンドで Docker コンテナを起動してください。

docker-compose up -d mail

マネジメントコンソール

マネジメントコンソールにアクセスするには、ブラウザを開き、 http://localhost:1080 に移動してください。

テスト

メール送信

この投稿は Windows で書いているため、以下の例では PowerShell の Send-MailMessage を使用しています。

Send-MailMessage `
>> -from 'dev@localhost' `
>> -to 'dev.to@localhost' `
>> -subject 'subject' `
>> -body 'test' `
>> -smtpServer 'localhost' `
>> -port 1025

メール受信

マネジメントコンソールで、新規メールを受信したことを確認できるはずです。

まとめ

MailDev のおかげで、エンジニアは、メール送信機能を容易にテストできます。

この投稿が、お役に立てば幸いです。

岩佐 孝浩

岩佐 孝浩

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