Mailtrain is a self hosted newsletter application built on Node.js (v5+) and MySQL (v5.5+ or MariaDB).
Mailtrain supports subscriber list management, list segmentation, custom fields, email templates, large CSV list import files, etc.
Subscribe to Mailtrain Newsletter here (uses Mailtrain obviously)
- Alpha-grade software. Might or might not work as expected
- Awful code base, needs refactoring
- No tests
- No documentation
- Nodejs v5+
- MySQL v5.5 or MariaDB
- Redis (optional, used for session storage only)
- Download and unpack Mailtrain sources
- Run
npm install
in the Mailtrain folder to install required dependencies - Copy config/default.toml as
config/production.toml
and update MySQL Settings in it - Import SQL tables by running
mysql -u MYSQL_USER -p MYSQL_DB < setup/mailtrain.sql
- Run the server
NODE_ENV=production npm start
- Open http://localhost:3000/
- Authenticate as
admin
:test
- Navigate to http://localhost:3000/settings and update service configuration
- Navigate to http://localhost:3000/users/account and update user information and password
Edit mailtrain.nginx (update server_name
directive) and copy it to /etc/nginx/sites-enabled
Edit mailtrain.conf (update application folder) and copy it to /etc/init
Mailtrain uses webhooks integration to detect bounces and spam complaints. Currently supported webhooks are:
- AWS SES – create a SNS topic for complaints and bounces and use
http://domain/webhooks/aws
as the subscriber URL for these topics - SparkPost – use
http://domain/webhooks/sparkpost
as the webhook URL for bounces and complaints - SendGrid – use
http://domain/webhooks/sendgrid
as the webhook URL for bounces and complaints - Mailgun – use
http://domain/webhooks/mailgun
as the webhook URL for bounces and complaints
GPL-V3.0