如何使用Docker在Ubuntu 18.04上安装Mailtrain

本教程将向您展示如何在Ubuntu 18.04上安装Mailtrain。 Mailtrain是一个开源的自托管新闻通讯应用程序,是Mailchimp等商业电子邮件服务提供商的替代产品。 您可以使用Mailtrain通过自己的电子邮件服务器或通过SMTP中继使用任何电子邮件发送服务(Mailjet,SendGrid,AmazonSES,Mailgun等)将电子邮件发送给电子邮件订阅者。

Mailtrain是根据GPL v3.0许可条款发行的,该协议基于Node.js和MySQL / MariaDB构建。 最新版本是v1.24.1,于2018年9月27日发布。Mailtrain的功能如下:

  • 它使您可以轻松管理大型邮件列表(例如100万个订阅者)。
  • 您可以通过API手动添加订阅者,或从CSV文件导入。
  • 它支持自定义字段(文本字段,数字,下拉列表或复选框),合并标记和自定义表单。
  • 列表段。
  • RSS活动:从RSS feed自动生成新闻通讯,并将其发送给订阅者。
  • 订户可以上载其GPG公共密钥,而Mailtrain将对新闻邮件进行加密。
  • 允许您检查每个链接的单独点击统计信息。
  • 高级模板编辑器和HTML代码编辑器。
  • 自动化:当用户激活您的预定义触发器时发送特定的电子邮件。

先决条件

要在Docker上运行Mailtrain,您需要一台至少具有1GB RAM的服务器。 您可以单击此特殊链接,以在DigitalOcean上获得$ 100的免费信用。 (仅适用于新用户)。 如果您已经是DigitalOcean用户,则可以单击此特殊链接以在Vultr上获得$ 50的免费信用(仅适用于新用户)。 在DigitalOcean或Vultr中拥有帐户后,请在服务器上安装Ubuntu 18.04,然后按照以下说明进行操作。

您还需要一个域名。 我从NameCheap注册了我的域名,因为价格低廉,而且它们免费提供whois隐私保护。

如何在Ubuntu 18.04服务器上安装Mailtrain

安装Mailtrain的最简单方法是使用Docker。 首先,我们需要安装Docker和Docker Compose,可以从Docker的官方存储库中安装最新版本。 以下步骤适用于Ubuntu 18.04。

为Docker存储库创建源列表文件。

sudo nano /etc/apt/sources.list.d/docker.list

复制以下行并将其粘贴到文件中。

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

保存并关闭文件。 然后通过运行以下命令导入Docker的PGP密钥。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

由于此存储库使用HTTPS连接,因此我们还需要安装 apt-transport-httpsca-certificates 包。

sudo apt install apt-transport-https ca-certificates

接下来,更新软件包索引并安装最新版本的Docker CE(社区版)。

sudo apt update

sudo apt install docker-ce

安装后,应自动启动Docker守护程序。 您可以使用以下方法进行检查:

systemctl status docker

输出:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-17 16:27:42 CST; 9min ago
     Docs: https://docs.docker.com
 Main PID: 6675 (dockerd)
    Tasks: 18
   CGroup: /system.slice/docker.service
           ├─6675 /usr/bin/dockerd -H fd://
           └─6696 docker-containerd --config /var/run/docker/containerd/containerd.toml

如果未运行,请使用以下命令启动守护程序:

sudo systemctl start docker

并在系统启动时启用自动启动:

sudo systemctl enable docker

检查Docker版本

docker -v

样本输出:

Docker version 18.06.1-ce, build e68fc7a

您可以使用以下命令安装最新版本的docker compose pip Python软件包管理器。

sudo apt install python-pip

sudo pip install docker-compose

检查Docker Compose版本。

docker-compose --version

样本输出:

docker-compose version 1.22.0, build f46880f

使用Docker运行Mailtrain

从Github存储库下载Mailtrain文件。

sudo apt install git

git clone git://github.com/Mailtrain-org/mailtrain.git

更改文件名。

cd mailtrain

mv docker-compose.override.yml.tmpl docker-compose.override.yml

现在您可以编辑 docker-compose.yml 文件以更改默认的MySQL用户登录凭据。 然后启动在 docker-compose.yml 文件。

sudo docker-compose up -d

mailtrain_default 网络将被创建,并且将运行3个容器: mailtrain-latestmysqlredis,通过发出以下命令可以看出:

sudo docker network ls
sudo docker ps

现在,您可以通过端口3000访问Mailtrain Web界面。

your-server-ip:3000

设置反向代理并启用HTTPS

在使用Mailtrain Web界面之前,让我们将其放在Nginx之后,然后启用HTTPS。 在Ubuntu 18.04上使用以下命令安装Nginx Web服务器:

sudo apt install nginx

为Mailtrain创建服务器阻止文件。

sudo nano /etc/nginx/conf.d/mailtrain.conf

将以下行复制并粘贴到文件中。 您可以为Mailtrain创建一个子域,如下所示。 不要忘记为该子域创建A记录。

server {
    listen [::]:80;
    listen 80;
    server_name newsletter.linuxbabe.com;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
}

保存并关闭文件。 然后测试Nginx配置。

sudo nginx -t

如果测试成功,请重新加载Nginx以使更改生效。

sudo systemctl reload nginx

您现在应该可以通过您的子域访问Mailtrain Web界面: newsletter.your-domain.com

让我们加密来启用HTTPS

在Ubuntu 18.04服务器上安装Let’s Encrypt客户端(certbot)。

sudo apt install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt install certbot python3-certbot-nginx

然后,您可以使用Nginx插件通过执行以下命令来自动获取并安装TLS证书。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address -d newsletter.your-domain.com

docker mailtrain

现在,您可以通过域名和安全的HTTPS连接访问Mailtrain Web界面。

在Ubuntu 18.04上安装mailtrain

用用户名登录 admin 和密码 test。 然后更改您的帐户电子邮件地址和密码。 转到设置页面以更改默认配置。 您应该将服务地址从 http://localhost:3000/ 到您的子域。

在里面 Mailer Settings,如果您拥有自己的电子邮件服务器或使用Amazon SES,则可以使用SMTP。 实际上,您还可以在 SMTP 标签。

mailtrain SMTP设置

保存设置。 然后,您可以创建一个列表来测试Mailtrain的功能。

我希望本教程可以帮助您在具有Docker的Ubuntu 18.04上安装Mailtrain。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 照顾自己。

Sidebar