Merge branch 'master' of github.com:andris9/mailtrain
This commit is contained in:
commit
4584c85b4b
9 changed files with 66 additions and 42 deletions
|
@ -27,9 +27,9 @@ Subscribe to Mailtrain Newsletter [here](http://mailtrain.org/subscription/EysIv
|
||||||
|
|
||||||
1. Download and unpack Mailtrain [sources](https://github.com/andris9/mailtrain/archive/master.zip)
|
1. Download and unpack Mailtrain [sources](https://github.com/andris9/mailtrain/archive/master.zip)
|
||||||
2. Run `npm install` in the Mailtrain folder to install required dependencies
|
2. Run `npm install` in the Mailtrain folder to install required dependencies
|
||||||
3. Edit [default.toml](config/default.toml) and update MySQL Settings
|
3. Copy [config/default.toml](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`
|
4. Import SQL tables by running `mysql -u MYSQL_USER -p MYSQL_DB < setup/mailtrain.sql`
|
||||||
5. Run the server `npm start`
|
5. Run the server `NODE_ENV=production npm start`
|
||||||
6. Open [http://localhost:3000/](http://localhost:3000/)
|
6. Open [http://localhost:3000/](http://localhost:3000/)
|
||||||
7. Authenticate as `admin`:`test`
|
7. Authenticate as `admin`:`test`
|
||||||
8. Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration
|
8. Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration
|
||||||
|
@ -48,7 +48,7 @@ Edit [mailtrain.conf](setup/mailtrain.conf) (update application folder) and copy
|
||||||
Mailtrain uses webhooks integration to detect bounces and spam complaints. Currently supported webhooks are:
|
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
|
* **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
|
* **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
|
* **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
|
* **Mailgun** – use `http://domain/webhooks/mailgun` as the webhook URL for bounces and complaints
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 14 KiB |
BIN
public/images/img01_lists.png
Normal file
BIN
public/images/img01_lists.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
public/images/img02_list.png
Normal file
BIN
public/images/img02_list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 107 KiB |
BIN
public/images/img03_fields.png
Normal file
BIN
public/images/img03_fields.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
BIN
public/images/img04_segment.png
Normal file
BIN
public/images/img04_segment.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 82 KiB |
BIN
public/images/img05_subscribe.png
Normal file
BIN
public/images/img05_subscribe.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
|
@ -1,9 +1,8 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
<div class="well">
|
||||||
<blockquote>
|
<a class="btn btn-success btn-sm" href="http://mailtrain.org/subscription/EysIv8sAx" role="button">Subscribe here</a> to Mailtrain newsletter (uses Mailtrain obviously)
|
||||||
Subscribe to <strong>Mailtrain Newsletter</strong> <a href="http://mailtrain.org/subscription/EysIv8sAx">here</a> (uses Mailtrain obviously)
|
</div>
|
||||||
</blockquote>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -22,6 +21,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<h2>Open source</h2>
|
<h2>Open source</h2>
|
||||||
|
@ -29,10 +31,61 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<h2>Send via any provider</h2>
|
<h2>Send via any provider</h2>
|
||||||
<p>Amazon SES, SparkPost, SendGrid, Mailgun – you name it. You can use any provider that supports SMTP protocol to send out your newsletters.</p>
|
<p>Amazon SES, SparkPost, SendGrid, Mailgun – you name it. You can use any provider that supports SMTP protocol to send out your newsletters. Bounce and complaints handling via webhooks is supported for SES, SparkPost, SendGrid and Mailgun.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<h2>On the roadmap</h2>
|
<h2>On the roadmap</h2>
|
||||||
<p>Automatic bounce and complaint handling for other providers besides AWS SES, reports, API access and more…</p>
|
<p>Reports, API access and more…</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p></p>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-1"></div>
|
||||||
|
<div class="col-md-10">
|
||||||
|
|
||||||
|
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
|
||||||
|
<!-- Indicators -->
|
||||||
|
<ol class="carousel-indicators">
|
||||||
|
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
|
||||||
|
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
|
||||||
|
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<!-- Wrapper for slides -->
|
||||||
|
<div class="carousel-inner" role="listbox">
|
||||||
|
<div class="item active">
|
||||||
|
<img src="/images/img01_lists.png" alt="Lists">
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="/images/img02_list.png" alt="List">
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="/images/img03_fields.png" alt="Custom fields">
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="/images/img04_segment.png" alt="List segments">
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="/images/img05_subscribe.png" alt="List segments">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Controls -->
|
||||||
|
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
|
||||||
|
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Previous</span>
|
||||||
|
</a>
|
||||||
|
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
|
||||||
|
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Next</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-1"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p></p>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
|
||||||
<meta name="description" content="Self hosted email newsletter app">
|
<meta name="description" content="Self hosted email newsletter app">
|
||||||
<meta name="author" content="Andris Reinman">
|
<meta name="author" content="Andris Reinman">
|
||||||
<link rel="icon" href="/favicon.ico">
|
<link rel="icon" href="/favicon.ico">
|
||||||
|
@ -14,38 +14,8 @@
|
||||||
{{#if title}} | {{title}}{{/if}}
|
{{#if title}} | {{title}}{{/if}}
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<!-- Bootstrap core CSS -->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
|
|
||||||
-->
|
|
||||||
<link rel="stylesheet" href="/datatables/datatables.min.css">
|
|
||||||
|
|
||||||
<!-- Bootswatch themes -->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/united.min.css">
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- -->
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/flatly.min.css">
|
<link rel="stylesheet" href="/bootstrap/themes/flatly.min.css">
|
||||||
<!-- -->
|
<link rel="stylesheet" href="/datatables/datatables.min.css">
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/slate.min.css">
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/paper.min.css">
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/superhero.min.css">
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/yeti.min.css">
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/simplex.min.css">
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<link rel="stylesheet" href="/bootstrap/themes/cosmo.min.css">
|
|
||||||
-->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/datepicker/css/bootstrap-datepicker3.css">
|
<link rel="stylesheet" href="/datepicker/css/bootstrap-datepicker3.css">
|
||||||
<link rel="stylesheet" href="/css/footer.css">
|
<link rel="stylesheet" href="/css/footer.css">
|
||||||
|
@ -138,6 +108,7 @@
|
||||||
|
|
||||||
<h1>Mailtrain</h1>
|
<h1>Mailtrain</h1>
|
||||||
<p>Self hosted newsletter app built on top of <a href="http://nodemailer.com">Nodemailer</a></p>
|
<p>Self hosted newsletter app built on top of <a href="http://nodemailer.com">Nodemailer</a></p>
|
||||||
|
<p><a class="btn btn-info btn-md" href="https://github.com/andris9/mailtrain" role="button"><span class="glyphicon glyphicon-cloud-download" aria-hidden="true"></span> Source on GitHub</a></p>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
<div class="visible-xs-block ">
|
<div class="visible-xs-block ">
|
||||||
|
@ -155,7 +126,7 @@
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="text-muted">© 2016 Andris Reinman <a href="https://mailtrain.org">Mailtrain.org</a>, <a href="mailto:info@mailtrain.org">info@mailtrain.org</a>. Source at <a href="https://github.com/andris9/mailtrain">GitHub</a></p>
|
<p class="text-muted">© 2016 Andris Reinman <a href="https://mailtrain.org">Mailtrain.org</a>, <a href="mailto:info@mailtrain.org">info@mailtrain.org</a>. Source on <a href="https://github.com/andris9/mailtrain">GitHub</a></p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue