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