mailhog 作为smtp server mock工具
mailhog 是一个方便的smtp web 以及api 测试工具,可以方便的作为一个mock 工具,以下是一个简单的使用
为了方便项目使用 mjml&&email-templates&&nodemailer (nodejs) 进行html email 的发送
mailhog环境准备
为了方便使用docker 运行,mailhog 支持多种持久化模式(mongodb),本地没有添加,使用的默认配置
- docker-compose 文件
version: "3"
services:
mailhog:
image: mailhog/mailhog:latest
ports:
- "8025:8025"
- "1025:1025"
nodejs app
详细代码就不介绍了,参考https://www.cnblogs.com/rongfengliang/p/12167521.html https://www.cnblogs.com/rongfengliang/p/12166282.html
- 项目结构
├── app.js
├── emails
│ └── templates
│ └── html.mjml
├── package.json
- 简单说明
html.mjml 为基于mjml 的模版(发送html 邮件的)app.js 为主要代码,详细参考https://github.com/rongfengliang/mailhog-email-templates/blob/master/app/app.js
pacakge.json 为依赖的npm包以及npm script
启动&&效果
- 启动
docker-compose up -d
- 发送邮件
cd app
yarn
yarn start
- 效果
说明
mailhog 功能还是比较强大的,可以方便的作为日常基于邮件应该开发的一个mock 工具,方便简洁,同时集成了chaos 工具(可以用来检查系统的
可靠行)
参考资料
https://hub.docker.com/r/mailhog/mailhog
https://github.com/mailhog/MailHog
https://github.com/rongfengliang/mailhog-email-templates
https://www.npmjs.com/package/email-templates
https://github.com/mjmlio/mjml
https://www.cnblogs.com/rongfengliang/p/12167521.html
https://www.cnblogs.com/rongfengliang/p/12166282.html