如何使用Mautic 免费发送营销邮件?

User avatar placeholder
Written by Andy

2025年1月21日

Mautic 是一个开源的营销自动化系统,主要是作为一个自託管的电子邮件营销解决方案。跟隨我的设置步骤,我將一步一步的带你安装好Mautic,整个过程不用10分钟。

什么是自託管的邮件营销解决方案?

任何电子邮件营销系统都由两部分组成。

MTA(提供SMTP服务), 这是技术部分。它允许您通过服务器向互联网发送电子邮件。

ESP(管理应用程序),在这里你可以配置和管理你的电子邮件列表,营销活动,监控和分析结果,管理你的发送服务器等。

如果我们將这两者连接在一起,就可以得到一个电子邮件营销系统。

在本文中,我將介绍的管理应用程序是Mautic,同时我將向您展示如何一步一步的配置Mautic。

安装Mautic需要什么?

你需要准备以下清单:

一个VPS服务器(开放Port25);
一个乾净的域名(可以是新的);

你可以选择任何一家域名註册公司,如Godaddy,Namesilo,Dynadot……购买一个域名。

如果你已经有了一个可用域名,你可以跳过这一步,继续购置一个VPS服务器。

很多人关心的是,到底哪个服务商是开放Port 25端口的?因为服务商为了防止Spam行为,会从防火墙中禁止该端口。

我可以告诉你的两家服务商:

  • Vultr(*)
  • Digitalocean

*Vultr可能对部分用户进行限制,你可以联繫客服要求开通Port 25端口。

接下来,当你在Digitalocean或Vultr註册后,只需创建一个服务器,规格要求如下,

Server ISO: Ubuntu 18 x64
Server Size:1v CPU/ 2GB Memory/ 40G SSD
Location:尽量接近你的SMTP服务器位置

这里我用vultr的VPS作为示例,

你还需要將域名或子域名指向这个VPS的IP地址(域名解析),如图(Cloudflare的DNS配置页面),

好了,现在我们有了一个域名和一个VPS服务器,让我们开始安装,用任何SSH客户端连接到您的VPS服务器,如putty

按顺序我们將安装Apache, PHP, 和MySQL,这是託管任何PHP应用程序的底层支持。

安装Apache2网络服务

先后运行下面的命令在你的VPS服务器上安装Apache Web服务器。

sudo apt update
sudo apt install apache2

安装Apache2过程中回复Y,然后只需等待几分钟安装完成,继续分別输入以下命令测试並启用Apache服务。

sudo systemctl restart apache2.service
sudo systemctl enable apache2.service

要测试Apache是​​否在你的服务器上工作,打开网页瀏览器並在地址栏输入VPS的IP地址(如http://127.0.0.255/)。

你应该会看到Apache的默认页面。

安装MariaDB数据库

因为Mautic和其他PHP系统一样,需要一个数据库来保存数据。所以,我们將使用MariaDB(Mysql)数据库系统来实现这一目的。

要安装MariaDB,分別运行以下命令:(以下仅適用於Ubuntu 18 x64

sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.piconets.webwerks.in/mariadb-mirror/repo/10.5/ubuntu bionic main'
sudo apt update
sudo apt-get install mariadb-server

下面的命令可以用来停止、启动並使MariaDB MySQL服务在服务器启动时自启动,

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

之后,运行下面的命令,通过创建root密码和禁止远程root访问来保护MariaDB服务器,

sudo mysql_secure_installation

根据提示,参考以下设置:

  • Enter current password for root (enter for none): Just press the Enter
  • Unix_socket authentication: N
  • Set a root password? [Y/n]: Y
  • New password: Enter your new password (create a secure one)
  • Re-enter new password: Repeat your new password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

要测试是否正確安装MariaDB,可以输入以下命令登录MariaDB服务器:

sudo mysql -u root -p

然后输入上面创建的密码登录……如果成功,你应该会看到MariaDB的欢迎信息。

那么,Mysql服务器就设置好了,输入 \q 退出登录MariaDB服务器。

安装PHP和相关模块

由於Mautic是一个基於PHP的程序,我们需要在服务器上安装PHP和一些模块以让它正常运行。

本文以安装PHP 7.3作为示例,但你可以隨意使用任何你想要的版本,只需要在下面的配置中按需更改。

先后运行下面的命令,添加第三方支持来安装PHP 7.3,

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

接下来,运行下面的命令来安装 PHP 7.3和相关模块,(注意下面是一条命令,很长)

sudo apt install php7.3 libapache2-mod-php7.3 php7.3-common php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-mysql php7.3-bcmath php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-imap

然后再运行以下命令,

sudo apt install php-pcov

安装好PHP 7.3,可以暂时关闭Putty,然后我们打开任何访问FTP的应用程序,这里我使用的WinSCP

WinSCP和Putty一样,都是一种用过SSH来访问服务器的简洁易用的程序。

打开WinSCP,並使用你的服务器IP/域名和密码/根证书来连接到你的FTP服务器。然后瀏览这个路径”/etc/php/7.3/apache2/”,在这里你可以找到一个 “php.ini “配置文件。

右键单击 “php.ini”,然后点击edit,键盘按下Ctrl+F来进行搜索,在文件中对以下几行进行修改並保存:

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/NewYork

时区默认是美国纽约,你可以查询世界时区表来变更:https://www.php.net/manual/en/timezones.php

修改好上面的数值后,保存文件並关闭,然后再次打开Putty登录服务器,重启apache服务,

sudo systemctl restart apache2.service

PHP部分到此完成!

创建Mautic数据库

现在,我们已经完成了所有底层环境的安装,接下来我们需要在MariaDB中为Mautic创建一个数据库。

要登录到MariaDB MySql数据库服务器,运行以下命令,

sudo mysql -u root -p

创建一个数据库名为mautic,或者任意你想要起的数据库名,

CREATE DATABASE mautic;

接著输入以下命令,创建一个数据库用户为affpeer(或任意你想要的用户名)和任意密码(默认affpeer.com自行更改),

CREATE USER 'affpeer'@'localhost' IDENTIFIED BY 'affpeer.com';

然后授予用户对数据库的完全访问权,(注意修改用户名和密码)

GRANT ALL ON mautic.* TO 'affpeer'@'localhost' IDENTIFIED BY 'affpeer.com' WITH GRANT OPTION;

最后,输入以下命令保存您的更改並退出,

FLUSH PRIVILEGES;
\q

你顺利的设置好这些了吗?

下载並安装Mautic

要获得Mautic的最新版本,你可能需要使用Github仓库……先后运行以下命令安装Composer、Curl和其他依赖条件。

sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

操作完成后,通过运行以下命令將目录改为”/var/www/html”,

cd /var/www/html

然后下载Mautic安装包,

sudo git clone https://github.com/mautic/mautic.git

现在通过运行以下两条命令安装Mautic,

cd /var/www/html/mautic
sudo composer install

安装完成后,运行以下两条命令来设置一些文件权限,

sudo chown -R www-data:www-data /var/www/html/mautic/
sudo chmod -R 755 /var/www/html/mautic/

至此,Mautic的安装已经完成。

配置Apache2网络服务

很高兴你完成到这一步骤。

接下来,我们只需要配置apache,这样我们就可以使用我们的域名访问Mautic了。要做到这一点,请再次打开WinSCP並导航到这个目录:/etc/apache2/sites-available/

现在,创建一个新的空文件,並將其命名为 “mautic.example.com.conf”(example.com改成你的域名)。

打开这个新conf文件然后將下面的內容复製並粘贴到文件中並保存。

(VirtualHost *:80)
     ServerAdmin admin@mautic.example.com
     DocumentRoot /var/www/html/mautic
     ServerName mautic.example.com
     ServerAlias mautic.example.com

     (Directory /var/www/html/mautic/)
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     (/Directory)

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
(/VirtualHost)

注意:將代码中的“()”更改为“<>”,並更改example.com为你的域名。

接下来很简单,在apache中启用mautic配置并重启服务,先后运行以下命令,

sudo a2ensite mautic.example.com.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service

注意替换上面的example.com,

现在打开你的网页瀏览器,输入以下示例地址(example.com为你的域名),

http://mautic.example.com

如果一切正常,你將会看到以下页面(注意这里是http,如果你通过chrome瀏览器访问,第一次会报错,只需要確认访问http链接即可。):

完美!根据Mautic的安装嚮导一步步设置好就行了:)

配置计划任务

我们只剩下配置计划任务模块了。

什么是Cron Jobs?

简单的说Cron Jobs就是根据计划自动运行的预定任务。

举个栗子,如果你创建了一个每周自动运行的电子邮件活动,你需要一个任务在后台自动运行来触发这个活动,这就是Cron工作的作用,让我们来设置它。

Mautic有几个Cron作业,有些是必须的,有些是可选的,你可以查看官方支持的所有Mautic Cron Jobs

如何配置Cron Jobs

很简单,打开WinSCP,在”/etc “目录下,你会发现 “crontab “文件。

是文件,不是文件夹哦!

编辑它,您只需要復制以下內容並粘贴到您的服务器文件里,然后保存。

#Segments Every 2 Minutes
*/2 * * * * root /usr/bin/php /var/www/html/mautic/bin/console
mautic:segments:update
*/3 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:import

#Campaigns (Every 1 Minute)
* * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:campaigns:update
* * * * * root /usr/bin/php /var/www/html/mautic/bin/console
mautic:campaigns:trigger
* * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:messages:send

#Process Email Queue Every 5 Minutes
*/5 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:emails:send
#Fetch and Process Monitored Email Every 10 Minutes
*/10 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:email:fetch

#Process Email Queue Every 5 Minutes
*/5 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:emails:send

#Fetch and Process Monitored Email Every 10 Minutes
*/10 * * * * root /usr/bin/php /var/www/html/mautic/bin/console mautic:email:fetch

如何配置免费的SSL(可选)

SSL证书在网络服务器內用於加密服务器和客户端之间的流量,为了让用户获得额外的安全性。

Let’s Encrypt提供了一个免费获取和安装可信证书的简单方法。使用Putty SSH客户端连接到你的服务器,然后开始吧!

安装Let’s Encrypt

Let’s Encrypt证书是通过服务器上运行的客户端软件Certbot获取的。运行以下代码:

sudo add-apt-repository ppa:certbot/certbot

按回车键接受,接著软件开始自动运行,完成后依次输入以下代码:

sudo apt-get update
sudo apt install python-certbot-apache

Certbot就这样安装完成了。

配置SSL证书

使用Certbot为Apache生成SSL证书是还是很方便的。客户端会自动获取並安装一个新的SSL证书,该证书对所提供的域名有效。

只需运行以下命令: (注意更改代码中的示例域名)

sudo certbot --apache -d mautic.example.com

程序会自动运行,直到你被要求提供一个电子邮件地址,以便找回丟失的密钥和通知。

你还可以选择同时启用http和https访问,或强制所有请求重定向到https,通常要求使用https访问是最安全的。

OK,完成这一切以后,试试输入http://mautic.example.com来访问你的Mautic邮件营销系统吧。

Image placeholder

Lorem ipsum amet elit morbi dolor tortor. Vivamus eget mollis nostra ullam corper. Pharetra torquent auctor metus felis nibh velit. Natoque tellus semper taciti nostra. Semper pharetra montes habitant congue integer magnis.

发表评论