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 作为smtp server mock工具_第1张图片

 

 

说明

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

你可能感兴趣的:(mailhog 作为smtp server mock工具)