mailtrain | Self hosted newsletter app | Email library
kandi X-RAY | mailtrain Summary
kandi X-RAY | mailtrain Summary
Mailtrain is a self hosted newsletter application built on Node.js (v14+) and MySQL (v8+) or MariaDB (v10+). This is version 2 of Mailtrain. It mostly implements all features of v1 and add some more. It is a complete rewrite, so you will have to install it from scratch. If you are upgrading from Mailtrain v1, backup the DB and use it for Mailtrain v2. Mailtrain v2 should be able to upgrade the DB to the new schema.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of mailtrain
mailtrain Key Features
mailtrain Examples and Code Snippets
Community Discussions
Trending Discussions on mailtrain
QUESTION
I'm trying to set up MailTrain (a newsletter application) on an Azure VM. I created a resource group with the virtual machine, a virtual network, a network interface, a network security group, a public ip adress and a private DNS zone.
MailTrain expects three URL endpoints which all point to the same IP adress. For testing purposes I would like to create internal endpoints which all point to the VM. I played around with DNS entries in the DNS zone, but it doesn't work as I expected.
The name of the private DNS zone is equal to the DNS name of the VM's public IP adress. The private DNS zone and the VM are linked with the virtual network link and auto registration is enabled. The virtual network contains a default subnet. I created an A entry for "lists" pointing to the VM's internal IP adress and a CNAME entry for "sbox" pointing to the DNS name of the public IP adress. Inbound rules for the ports 80 and 443 were added to the netwwork security group.
The console shows me the following message while running the installation script:
...ANSWER
Answered 2020-Dec-16 at 02:16Followed that quick start, you just need to create three DNS records in your public domain DNS zone.
Please note that there is public DNS and private DNS in Azure. In this case, I assume you have created a private DNS zone for internal endpoints. To resolve the records of a private DNS zone from your virtual network, you must link the virtual network with the zone. Additionally, you can also enable autoregistration on a virtual network link. If you enable auto registration on a virtual network link, the DNS records for the virtual machines on that virtual network are registered in the private zone. Or, you can manually create an A
record to map to your VM's private IP address in the zone and create other CNAME records to map to the other internal endpoints.
As a best practice, do not use a .local
domain for your private DNS zone. Not all operating systems support this.
In addition, you need to add inbound ports 80
, 443
in your network security group that associated with the Azure VM subnet or NIC.
For an internal test, you can use a private DNS zone because the DNS records in a private Zone can only be resolved in a virtual network it can not be resolved over the Internet, you could select the local installation in this scenario.
For example, I create a private DNS zone named contoso.com
,
After local install, you can access the website via the trusted endpoint http://localhost:3000
, then you should access the other endpoints in the VNet instead of access external.
However, if you want to use it for public access, you could select to install a public website secured by SSL. In this case, you need to purchase a domain and add the related DNS records to the DNS zone in the respective DNS provider. Azure DNS zone supports host your public domain zones in Azure.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install mailtrain
Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous su within sudo.) sudo su -
Install GIT For Centos 7 type: yum install -y git For Ubuntu 18.04 LTS type apt-get install -y git
Download Mailtrain using git to the /opt/mailtrain directory cd /opt git clone https://github.com/Mailtrain-org/mailtrain.git cd mailtrain git checkout v2
Run the installation script. Replace the urls and your email address with the correct values. NOTE that running this script you agree Let's Encrypt's conditions. For Centos 7 type: bash setup/install-centos7-https.sh mailtrain.example.com sbox-mailtrain.example.com lists.example.com admin@example.com For Ubuntu 18.04 LTS type: bash setup/install-ubuntu1804-https.sh mailtrain.example.com sbox-mailtrain.example.com lists.example.com admin@example.com
Start Mailtrain and enable to be started by default when your server starts. systemctl start mailtrain systemctl enable mailtrain
Open the trusted endpoint (like https://mailtrain.example.com)
Authenticate as admin:test
Update your password under admin/Account
Update your settings under Administration/Global Settings.
If you intend to sign your email by DKIM, set the DKIM key and DKIM selector under Administration/Send Configurations.
This will setup a locally accessible Mailtrain instance (primarily for development and testing). All endpoints (trusted, sandbox, public) will provide only HTTP as follows:.
http://localhost:3000 - trusted endpoint
http://localhost:3003 - sandbox endpoint
http://localhost:3004 - public endpoint
Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous su within sudo.) sudo su -
Install git For Centos 7 type: yum install -y git For Ubuntu 18.04 LTS type: apt-get install -y git
Download Mailtrain using git to the /opt/mailtrain directory cd /opt git clone https://github.com/Mailtrain-org/mailtrain.git cd mailtrain git checkout v2
Run the installation script. Replace the urls and your email address with the correct values. NOTE that running this script you agree Let's Encrypt's conditions. For Centos 7 type: bash setup/install-centos7-local.sh For Ubuntu 18.04 LTS type: bash setup/install-ubuntu1804-local.sh
Start Mailtrain and enable to be started by default when your server starts. systemctl start mailtrain systemctl enable mailtrain
Open the trusted endpoint http://localhost:3000
Authenticate as admin:test
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page