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 installin the Mailtrain folder to install required dependencies - Copy config/default.toml as
config/production.tomland 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/awsas the subscriber URL for these topics - SparkPost – use
http://domain/webhooks/sparkpostas the webhook URL for bounces and complaints - SendGrid – use
http://domain/webhooks/sendgridas the webhook URL for bounces and complaints - Mailgun – use
http://domain/webhooks/mailgunas the webhook URL for bounces and complaints
GPL-V3.0