No description
Find a file
2016-04-08 15:00:54 +03:00
config Initial import 2016-04-04 15:36:30 +03:00
lib Fixed an issue with broken archive link. Added plaintext versions for transactional messages 2016-04-08 15:00:54 +03:00
public Added screenshots 2016-04-04 18:40:34 +03:00
routes Fixed an issue with broken archive link. Added plaintext versions for transactional messages 2016-04-08 15:00:54 +03:00
services Initial import 2016-04-04 15:36:30 +03:00
setup Initial import 2016-04-04 15:36:30 +03:00
test Initial import 2016-04-04 15:36:30 +03:00
views Fixed an issue with broken archive link. Added plaintext versions for transactional messages 2016-04-08 15:00:54 +03:00
.eslintrc.js Initial import 2016-04-04 15:36:30 +03:00
.gitignore Initial import 2016-04-04 15:36:30 +03:00
app.js Initial import 2016-04-04 15:36:30 +03:00
Gruntfile.js Initial import 2016-04-04 15:36:30 +03:00
index.js Initial import 2016-04-04 15:36:30 +03:00
LICENSE Initial import 2016-04-04 15:36:30 +03:00
package.json Fixed an issue with broken archive link. Added plaintext versions for transactional messages 2016-04-08 15:00:54 +03:00
README.md Update README.md 2016-04-05 00:23:04 +03:00

Mailtrain

Mailtrain is a self hosted newsletter application built on Node.js (v5+) and MySQL (v5.5+ or MariaDB).

Features

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)

Cons

  • Alpha-grade software. Might or might not work as expected
  • Awful code base, needs refactoring
  • No tests
  • No documentation

Requirements

  • Nodejs v5+
  • MySQL v5.5 or MariaDB
  • Redis (optional, used for session storage only)

Installation

  1. Download and unpack Mailtrain sources
  2. Run npm install in the Mailtrain folder to install required dependencies
  3. Copy config/default.toml as config/production.toml and update MySQL Settings in it
  4. Import SQL tables by running mysql -u MYSQL_USER -p MYSQL_DB < setup/mailtrain.sql
  5. Run the server NODE_ENV=production npm start
  6. Open http://localhost:3000/
  7. Authenticate as admin:test
  8. Navigate to http://localhost:3000/settings and update service configuration
  9. Navigate to http://localhost:3000/users/account and update user information and password

Running behind Nginx proxy

Edit mailtrain.nginx (update server_name directive) and copy it to /etc/nginx/sites-enabled

Running as an Upstart service in Ubuntu 14.04

Edit mailtrain.conf (update application folder) and copy it to /etc/init

Bounce handling

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

License

GPL-V3.0