概要
- Docker 上に MailHog を立ち上げて、そこに対してメールを送信するサンプルです。
- メールは nodemailer を使用して送信します。
- MailHog起動中は
http://localhost:8025/
をブラウザで開くと送信メールの確認が出来ます。
実行環境
- Node.js - 10.x
- Docker - 19.x
- Docker Compose - 1.24.x
使用ライブラリ
docker-compose.yml
version: '3'
services:
mailhog:
image: mailhog/mailhog:latest
ports:
- '8025:8025'
- '1025:1025'
src/mail.js
const mailer = require('nodemailer');
const smtp = mailer.createTransport({
host: '127.0.0.1',
port: '1025',
auth: {
user: 'user',
pass: 'password',
}
});
const mailOptions = {
from: 'hoge@github.com',
to: 'hogehoge@github.com',
subject: 'タイトルです',
html: 'メール本文です',
};
smtp.sendMail(mailOptions, function(err, info) {
if (!err) {
console.log('Mail success: ' + info.response);
} else {
console.log('Mail err', err);
}
smtp.close();
});
実行結果
github.com
参考URL
github.com
おわりに
- 開発時のメールサーバーとしてMailHogは大変便利です。
- Dockerを使用することでさらに構築が楽になります。SMTPメール送信系の開発を行っている方はぜひ使用ください。