No description
Find a file
2016-04-04 15:46:45 +03:00
config Initial import 2016-04-04 15:36:30 +03:00
lib Initial import 2016-04-04 15:36:30 +03:00
public Initial import 2016-04-04 15:36:30 +03:00
routes Initial import 2016-04-04 15:36:30 +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 Initial import 2016-04-04 15:36:30 +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 Initial import 2016-04-04 15:36:30 +03:00
README.md Updated README 2016-04-04 15:46:45 +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.

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. Edit default.toml and update MySQL Settings
  4. Import SQL tables by running mysql -u MYSQL_USER -p MYSQL_DB < setup/mailtrain.sql
  5. Run the server 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/aws 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