Replaced andris9 with Mailtrain-org

This commit is contained in:
Andris Reinman 2017-03-23 15:47:00 +02:00
parent 2dd21c11c0
commit 47705c212d
6 changed files with 18 additions and 18 deletions

View file

@ -2,9 +2,9 @@
## 1.23.0 2017-03-19 ## 1.23.0 2017-03-19
* Fixed security issue where description tags were able to include script tags. Reported by Andreas Lindh. Fixed with [ae6affda](https://github.com/andris9/mailtrain/commit/ae6affda8193f034e06f7e095ee23821a83d5190) * Fixed security issue where description tags were able to include script tags. Reported by Andreas Lindh. Fixed with [ae6affda](https://github.com/Mailtrain-org/mailtrain/commit/ae6affda8193f034e06f7e095ee23821a83d5190)
* Fixed security issue where templates that looked like file paths loaded content from arbitrary files. Reported by Andreas Lindh. Fixed with [0879fa41](https://github.com/andris9/mailtrain/commit/0879fa412a2d4a417aeca5cd5092a8f86531e7ef) * Fixed security issue where templates that looked like file paths loaded content from arbitrary files. Reported by Andreas Lindh. Fixed with [0879fa41](https://github.com/Mailtrain-org/mailtrain/commit/0879fa412a2d4a417aeca5cd5092a8f86531e7ef)
* Fixed security issue where users were able to use html tags in subscription values. Reported by Andreas Lindh. Fixed with [9d5fb816](https://github.com/andris9/mailtrain/commit/9d5fb816c937114966d4f589e1ad4e164ff3a187) * Fixed security issue where users were able to use html tags in subscription values. Reported by Andreas Lindh. Fixed with [9d5fb816](https://github.com/Mailtrain-org/mailtrain/commit/9d5fb816c937114966d4f589e1ad4e164ff3a187)
* Support for multiple HTML editors (Mosaico, GrapeJS, Summernote, HTML code) * Support for multiple HTML editors (Mosaico, GrapeJS, Summernote, HTML code)
## 1.22.0 2017-03-02 ## 1.22.0 2017-03-02

View file

@ -1,7 +1,7 @@
FROM centos FROM centos
RUN curl --silent --location https://rpm.nodesource.com/setup_7.x | bash - RUN curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
RUN yum install -y git make gcc nodejs ImageMagick && yum clean all RUN yum install -y git make gcc nodejs ImageMagick && yum clean all
RUN git clone git://github.com/andris9/mailtrain.git /app RUN git clone git://github.com/Mailtrain-org/mailtrain.git /app
WORKDIR /app/ WORKDIR /app/
ENV NODE_ENV production ENV NODE_ENV production
RUN npm install --no-progress --production && npm install --no-progress passport-ldapjs RUN npm install --no-progress --production && npm install --no-progress passport-ldapjs

View file

@ -40,7 +40,7 @@ Check out [ZoneMTA](https://github.com/zone-eu/zone-mta) as an alternative self
## Cons ## Cons
* Beta-grade software. Might or might not work as expected. There are several users with list sizes between 100k and 1M and Mailtrain seems to work for them but YMMV * Beta-grade software. Might or might not work as expected. There are several users with list sizes between 100k and 1M and Mailtrain seems to work for them but YMMV
* Almost no documentation (there are some guides in the [Wiki](https://github.com/andris9/mailtrain/wiki)) * Almost no documentation (there are some guides in the [Wiki](https://github.com/Mailtrain-org/mailtrain/wiki))
## Requirements ## Requirements
@ -58,7 +58,7 @@ Mailtrain and all required dependencies (including MySQL). The installation scri
If you like living on the edge and feel adventurous you can run the installation script directly from your command line as root: If you like living on the edge and feel adventurous you can run the installation script directly from your command line as root:
``` ```
curl https://raw.githubusercontent.com/andris9/mailtrain/master/setup/install.sh | sudo bash curl https://raw.githubusercontent.com/Mailtrain-org/mailtrain/master/setup/install.sh | sudo bash
``` ```
Install script installs and sets up the following: Install script installs and sets up the following:
@ -121,7 +121,7 @@ With proper SPF, DKIM and PTR records (DMARC wouldn't hurt either) I got perfect
* Docker * Docker
* docker-compose * docker-compose
1. Download Mailtrain files using git: `git clone git://github.com/andris9/mailtrain.git` (or download [zipped repo](https://github.com/andris9/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` 1. Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain`
2. Run `sudo docker build -t mailtrain-node:latest .` 2. Run `sudo docker build -t mailtrain-node:latest .`
3. Copy default.toml to production.toml. Run `sudo mkdir -p /etc/mailtrain && sudo cp config/default.toml /etc/mailtrain/production.toml` 3. Copy default.toml to production.toml. Run `sudo mkdir -p /etc/mailtrain && sudo cp config/default.toml /etc/mailtrain/production.toml`
4. Create `/etc/docker-compose.yml`. Example (dont forget change MYSQL_ROOT_PASS and MYSQL_USER_PASSWORD to your passwords): 4. Create `/etc/docker-compose.yml`. Example (dont forget change MYSQL_ROOT_PASS and MYSQL_USER_PASSWORD to your passwords):
@ -192,7 +192,7 @@ With proper SPF, DKIM and PTR records (DMARC wouldn't hurt either) I got perfect
### Manual Install (any OS that supports Node.js) ### Manual Install (any OS that supports Node.js)
1. Download Mailtrain files using git: `git clone git://github.com/andris9/mailtrain.git` (or download [zipped repo](https://github.com/andris9/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` 1. Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain`
2. Run `npm install --production` in the Mailtrain folder to install required dependencies 2. Run `npm install --production` in the Mailtrain folder to install required dependencies
3. Copy [config/default.toml](config/default.toml) as `config/production.toml` and update MySQL and any other settings in it 3. Copy [config/default.toml](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` 4. Run the server `NODE_ENV=production npm start`
@ -203,7 +203,7 @@ With proper SPF, DKIM and PTR records (DMARC wouldn't hurt either) I got perfect
## Upgrade ## Upgrade
* Replace old files with new ones by running in the Mailtrain folder `git pull origin master` if you used Git to set Mailtrain up or just download [new files](https://github.com/andris9/mailtrain/archive/master.zip) and replace old ones with these * Replace old files with new ones by running in the Mailtrain folder `git pull origin master` if you used Git to set Mailtrain up or just download [new files](https://github.com/Mailtrain-org/mailtrain/archive/master.zip) and replace old ones with these
* Run `npm install --production` in the Mailtrain folder * Run `npm install --production` in the Mailtrain folder
## Using Environment Variables ## Using Environment Variables
@ -246,9 +246,9 @@ The source code for the Cloudron app is [here](https://git.cloudron.io/cloudron/
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/sparkpost` as the webhook URL for bounces and complaints ([instructions](https://github.com/andris9/mailtrain/wiki/Setting-up-Webhooks-for-SparkPost)) * **SparkPost** use `http://domain/webhooks/sparkpost` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-SparkPost))
* **SendGrid** use `http://domain/webhooks/sendgrid` as the webhook URL for bounces and complaints ([instructions](https://github.com/andris9/mailtrain/wiki/Setting-up-Webhooks-for-SendGrid)) * **SendGrid** use `http://domain/webhooks/sendgrid` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-SendGrid))
* **Mailgun** use `http://domain/webhooks/mailgun` as the webhook URL for bounces and complaints ([instructions](https://github.com/andris9/mailtrain/wiki/Setting-up-Webhooks-for-Mailgun)) * **Mailgun** use `http://domain/webhooks/mailgun` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-Mailgun))
* **ZoneMTA** use `http://domain/webhooks/zone-mta` as the webhook URL for bounces. If you install Mailtrain with the included installation script then this route gets set up automatically during the installation process * **ZoneMTA** use `http://domain/webhooks/zone-mta` as the webhook URL for bounces. If you install Mailtrain with the included installation script then this route gets set up automatically during the installation process
* **Postfix** This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixbounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`. * **Postfix** This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixbounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`.
@ -315,7 +315,7 @@ Enclose translatable strings to `{{#translate}}` tags
* To add a new language use this catalog file as source. Once you want to update your translation file from the updated catalog, then select "Catalogue" -> "Update from POT file..." in POEdit and select mailtrain.pot. This would merge all new translations from the POT file to your PO file. * To add a new language use this catalog file as source. Once you want to update your translation file from the updated catalog, then select "Catalogue" -> "Update from POT file..." in POEdit and select mailtrain.pot. This would merge all new translations from the POT file to your PO file.
*If you have saved the PO file in [./languages](./languages) then POEdit should auto generate required MO file whenever you hit save for the PO file. *If you have saved the PO file in [./languages](./languages) then POEdit should auto generate required MO file whenever you hit save for the PO file.
* Once you have a correct MO file in the languages folder, then edit Mailtrain config and set ["language" option](https://github.com/andris9/mailtrain/blob/ba8bd1212335cb9bd7ba094beb7b5400f35cae6c/config/default.toml#L30-L31) to your language name. If the value is "et" then Mailtrain loads translations from ./languages/et.mo * Once you have a correct MO file in the languages folder, then edit Mailtrain config and set ["language" option](https://github.com/Mailtrain-org/mailtrain/blob/ba8bd1212335cb9bd7ba094beb7b5400f35cae6c/config/default.toml#L30-L31) to your language name. If the value is "et" then Mailtrain loads translations from ./languages/et.mo
> **NB!** For now translation settings are global, so if you have set a translation in config then this applies to all users. An user can't select another translation than the default even if there is a translation file. This is because current Mailtrain code does not provide request context to functions and the functions generating strings do not know which language to use. > **NB!** For now translation settings are global, so if you have set a translation in config then this applies to all users. An user can't select another translation than the default even if there is a translation file. This is because current Mailtrain code does not provide request context to functions and the functions generating strings do not know which language to use.

View file

@ -17,7 +17,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/andris9/mailtrain.git" "url": "git://github.com/Mailtrain-org/mailtrain.git"
}, },
"author": "Andris Reinman", "author": "Andris Reinman",
"license": "GPL-3.0", "license": "GPL-3.0",

View file

@ -46,7 +46,7 @@ ufw --force enable
# Fetch Mailtrain files # Fetch Mailtrain files
mkdir -p /opt/mailtrain mkdir -p /opt/mailtrain
cd /opt/mailtrain cd /opt/mailtrain
git clone git://github.com/andris9/mailtrain.git . git clone git://github.com/Mailtrain-org/mailtrain.git .
# Normally we would let Mailtrain itself to import the initial SQL data but in this case # Normally we would let Mailtrain itself to import the initial SQL data but in this case
# we need to modify it, before we start Mailtrain # we need to modify it, before we start Mailtrain

View file

@ -60,7 +60,7 @@
<li><a href="{{url}}">{{title}}</a></li> <li><a href="{{url}}">{{title}}</a></li>
{{/if}} {{/if}}
{{/each}} {{/each}}
<li><a href="https://github.com/andris9/mailtrain/wiki"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span> {{#translate}}Wiki{{/translate}}</a></li> <li><a href="https://github.com/Mailtrain-org/mailtrain/wiki"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span> {{#translate}}Wiki{{/translate}}</a></li>
<li><a href="https://mailtrain.wordpress.com/"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span> {{#translate}}Blog{{/translate}}</a></li> <li><a href="https://mailtrain.wordpress.com/"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span> {{#translate}}Blog{{/translate}}</a></li>
</ul> </ul>
@ -124,7 +124,7 @@
<h1><img class="img-responsive" src="/mailtrain-header.png"></h1> <h1><img class="img-responsive" src="/mailtrain-header.png"></h1>
<p>{{#translate}}Self Hosted Newsletter App Built on Top of Nodemailer{{/translate}}</p> <p>{{#translate}}Self Hosted Newsletter App Built on Top of Nodemailer{{/translate}}</p>
<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> {{#translate}}Source on GitHub{{/translate}}</a> <a class="btn btn-info btn-md" href="https://github.com/Mailtrain-org/mailtrain" role="button"><span class="glyphicon glyphicon-cloud-download" aria-hidden="true"></span> {{#translate}}Source on GitHub{{/translate}}</a>
<a class="btn btn-success btn-md" href="http://mailtrain.org/subscription/EysIv8sAx" role="button"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> {{#translate}}Subscribe to Our Newsletter{{/translate}}</a> <a class="btn btn-success btn-md" href="http://mailtrain.org/subscription/EysIv8sAx" role="button"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> {{#translate}}Subscribe to Our Newsletter{{/translate}}</a>
</p> </p>
@ -142,7 +142,7 @@
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="text-muted">&copy; 2016 Kreata OÜ <a href="https://mailtrain.org">Mailtrain.org</a>, <a href="mailto:info@mailtrain.org">info@mailtrain.org</a>. <a href="https://github.com/andris9/mailtrain">{{#translate}}Source on GitHub{{/translate}}</a></p> <p class="text-muted">&copy; 2016 Kreata OÜ <a href="https://mailtrain.org">Mailtrain.org</a>, <a href="mailto:info@mailtrain.org">info@mailtrain.org</a>. <a href="https://github.com/Mailtrain-org/mailtrain">{{#translate}}Source on GitHub{{/translate}}</a></p>
</div> </div>
</footer> </footer>