Send mails with mjml Template and JSON Schema.
- Project status: POC
- Screencast: https://youtu.be/9oih7cZTjk4
- Docker Image: https://hub.docker.com/r/stephaneklein/gibbon-mail (Automated Builds configured on
master
branch)
To generate PDF instead send mails, see this project: gibbon-pdf
- I would like to move transactionnal mail engine from my application in a separate service
- I would like to allow humans to send email manually, via a simple application plugged to the same API.
- I would like to keep a history (optionally) of all mail sent
Go to docker-image/
and read the README.
or if you want to contribute see this READMEs:
- Integrate
mozilla-services/react-jsonschema-form
- Integrate
mjmlio/mjml
- Send mails with nodemailer
- Add mailhog to test
- Docker Image (
stephaneklein/gibbon-mail:latest
) - curl example
- Screencast
- Swagger
- Multi language mail template support #8
- Add UISchema support
- Check json input with JSON Schema
- Test frontend
- Configure CI
- Add option to save mail sent (in PostgreSQL)
- Send email from:
- Json field values (validated by JSON Schema)
- MJML template file
- TXT template file
- Oneline Subject template file
- Rest API endpoints to generate mail preview or send email
- Web UI to generate email manually:
- HTML form are autogenerated by JSON Schema
- User can preview the email or send email
- Optionnaly record all email sent
- cid image attachment support
stephaneklein/gibbon-mail:latest
Docker Image is automatically builded when master
branch is updated.
- Backend:
- NodeJS with Koa
mjmlio/mjml
to generate Html email- Nunjucks to fill Email templates
- nodemailer to send email
- Swagger (see swagger.yaml file)
- Frontend
- ReactJS, Axios, React-router
- react-jsonschema-form to generate Form from JSON Schema (need Bootstrap version
v3.3.6
) - Bootstrap
- Tooling
This project hasn't build-in authentication system, it's a internal service in your stack, you must protect it by a private network or Basic access authentication system.
Gibbon as an allusion to Mandrill App.
Emails examples: