This project is the mailer used by the openSenseMap-API and other services in the openSenseMap stack. The mailer is a queue based system powered by Redis.
First, install the dependencies:
npm install
# or
yarn
Copy the .env.exmaple
file and adjust the environment variables:
cp .env.example .env
This repository also includes a Redis Stack and can be fired up with Docker:
docker compose up -d
To configure Redis use the included
local-redis-stack.conf
.
Open localhost:8001 with your browser and connect to Redis Insight.
Templates are located within this repository under the emails
folder. We use react email to create our email templates. Please read the react email docs before adding new templates.
What´s really cool about react email is you get a live preview for the templates and you don´t need to keep sending real emails during development.
To start the live preview run:
npm run studio
# or
yarn studio
Open localhost:3000 with your browser to see the template previews.
The source code for the actual mailer service is located within the src
folder. The mailer uses the following technologies:
- BullMQ (robust queue system built on top of Redis)
- Nodemailer (email sending package)