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

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

Takahiro Iwasa
Takahiro Iwasa
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 のおかげで、エンジニアは、メール送信機能を容易にテストできます。

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

Takahiro Iwasa

Takahiro Iwasa

Software Developer at KAKEHASHI Inc.
Involved in the requirements definition, design, and development of cloud-native applications using AWS. Now, building a new prescription data collection platform at KAKEHASHI Inc. Japan AWS Top Engineers 2020-2023.