Skip to content
Self hosted newsletter app
JavaScript HTML CSS Shell Other
Branch: master
Clone or download
Latest commit 3b36570 Oct 2, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Merge pull request #445 from Addy90/https Aug 5, 2018
docs Update README.md Jun 15, 2019
languages add more translations to german, modify some others Jun 28, 2019
lib Merge pull request #482 from ateuber/custom_field_description Mar 9, 2019
protected/reports Halfway through in refactoring the report generation to a separate pr… Apr 17, 2017
public another grapejs update and fix for images Jul 31, 2018
routes Standardization of error handling Jun 12, 2019
services Merge branch 'pr453' Aug 5, 2018
setup Added description to custom fields Oct 31, 2018
tasks initial translations support Mar 4, 2017
test Change email domain in tests to "gmail.com" May 29, 2018
views Bugfix: include list segment when saving in Mosaico Jul 16, 2019
workers/reports Additions to the install scripts Apr 27, 2017
.dockerignore Add node_modules to .dockerignore to avoid unneeded building time / o… Jun 24, 2017
.eslintrc Updated translation support Mar 7, 2017
.gitignore ignore more config files Sep 8, 2018
.travis.yml Fixed Travis CI Checks Jul 13, 2017
BACKERS.md v1.14.0 Jul 9, 2016
CHANGELOG.md v1.23.2 Apr 4, 2017
Dockerfile Added ldapauth support to docker Feb 13, 2018
Gruntfile.js Satisfy eslint rule linebreak-style Jun 22, 2017
LICENSE v1.22.0 Mar 2, 2017
README.md Update README Mar 19, 2019
app.js Half way in improving e2e test infrastructure and refactoring tests t… May 23, 2017
docker-compose.override.yml.tmpl Make docker-compose.override.yml a template Jun 24, 2017
docker-compose.yml Add volume for reports Jun 24, 2017
docker-entrypoint.sh Use production.toml for reports when it exists in config Jun 24, 2017
index.js optional ca and dhparams Jun 21, 2018
meta.json Added description to custom fields Oct 31, 2018
package.json add passport-ldapauth to dependencies Aug 7, 2018

README.md

Mailtrain v2 beta is available. Check it out here https://github.com/Mailtrain-org/mailtrain/tree/development

Mailtrain

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

Features

  • Subscriber list management
  • List segmentation
  • Custom fields
  • Email templates
  • Large CSV list import files

Subscribe to Mailtrain Newsletter here (uses Mailtrain obviously)

Hardware Requirements

  • 1 vCPU
  • 1024 MB RAM

Quick Start - Deploy with Docker

Requirements:

Steps:

Depending on how you have configured your system and Docker you may need to prepend the commands below with sudo.

  • Download Mailtrain files using git: git clone git://github.com/Mailtrain-org/mailtrain.git (or download zipped repo) and open Mailtrain folder cd mailtrain
  • Copy the file docker-compose.override.yml.tmpl to docker-compose.override.yml and modify it if you need to.
  • Bring up the stack with: docker-compose up -d
  • Start: docker-compose start
  • Open http://localhost:3000/ (change the host name localhost to the name of the host where you are deploying the system).
  • Authenticate as user admin with password test
  • Navigate to http://localhost:3000/settings and update service configuration, especially replace the value in Service Address (URL) from localhost to the actual IP or domain if installed on a server, otherwise e.g. image upload will not work.
  • Navigate to http://localhost:3000/users/account and update user information and password.

Quick Start - Manual Install (any OS that supports Node.js)

Requirements:

  • Mailtrain requires at least Node.js v7. If you want to use an older version of Node.js then you should use version v1.24 of Mailtrain. You can either download it here or if using git then run git checkout v1.24.0 before starting it
  1. Download Mailtrain files using git: git clone git://github.com/Mailtrain-org/mailtrain.git (or download zipped repo) and open Mailtrain folder cd mailtrain
  2. Run npm install --production in the Mailtrain folder to install required dependencies
  3. Copy config/default.toml as config/production.toml and update MySQL and any other settings in it
  4. Run the server NODE_ENV=production npm start
  5. Open http://localhost:3000/
  6. Authenticate as admin:test
  7. Navigate to http://localhost:3000/settings and update service configuration, especially replace the value in Service Address (URL) from localhost to the actual IP or domain if installed on a server, otherwise e.g. image upload will not work.
  8. Navigate to http://localhost:3000/users/account and update user information and password

Read The Docs

For more information, please read the docs.

License

  • Versions 1.22.0 and up GPL-V3.0
  • Versions 1.21.0 and up: EUPL-1.1
  • Versions 1.19.0 and up: MIT
  • Up to versions 1.18.0 GPL-V3.0
You can’t perform that action at this time.