如何使用 Mautic 免费发送营销邮件?
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邮件营销系统吧。