使用 Postal 的免费 SMTP 服务器设置(分步指南)
已发表: 2020-04-15在本分步指南中,我将向您展示如何使用Postal (开源 SMTP 软件)设置免费 SMTP 服务器,并将其连接到您的电子邮件营销应用程序以发送无限电子邮件* 。
此外,如果您觉得有什么不清楚的地方,您可以在下面找到一个视频显示设置。
构建 SMTP 服务器有多种方法,在本指南中,我将使用名为“ Postal ”的免费开源软件构建 SMTP 服务器。
Postal 是一个功能齐全的开源邮件传递平台,用于收发电子邮件,并为您提供为您的业务构建完整邮件系统所需的所有工具和功能。
什么是 SMTP 服务器?
我不喜欢像维基百科这样的机器人定义,我喜欢让事情变得简单。 所以…
简单地说, SMTP 就是允许您通过 Internet 发送电子邮件的东西。
SMTP 代表“简单邮件传输协议” 。 这是您不必担心的网络概念。
只要知道SMTP是负责通过 Internet 传递电子邮件的技术事物。
让我们把事情联系起来,这与电子邮件营销有什么关系?
我认为这很清楚,但以防万一,正如我在我的技术电子邮件营销指南中解释的那样,任何电子邮件营销系统都由两部分组成:
- 发件人: (SMTP 服务)这是技术部分。 它允许您通过 Internet 发送电子邮件。
- 管理应用程序,您可以在其中配置和管理您的电子邮件列表、营销活动、监控和分析结果、管理您的发送服务器等等。
因此,我们将两者连接在一起以获得电子邮件营销系统。
所以现在我认为这非常清楚,我们将学习如何构建任何电子邮件营销系统的第一部分,即SMTP 服务器。
需要更多细节?
或许你就是像我一样喜欢深入话题并详细了解一切的人,如果你是那个人,可以观看以下 3 分钟的视频,了解有关 SMTP 服务器及其工作原理的更多信息:
发送无限制的电子邮件是什么意思?
当我们说无限制的电子邮件时,这意味着我们可以从我们的服务器发送无限制的电子邮件,没有公司或每月购买计划的限制。
这是您自己的服务器,您可以发送尽可能多的服务器可以处理的资源。 因此,当您拥有更多( CPU 和 RAM )时,您可以发送更多电子邮件等等。
设置 SMTP 服务器,让我们开始吧!
好的,让我们开始真正的工作吧! 但在此之前,您需要知道需要什么。
设置 SMTP 服务器的要求。
为了构建和设置 SMTP 服务器,您主要需要两件事:
- 一个域名
- 开放 25 端口的 VPS 服务器。
1. 域名
当您发送电子邮件时,您将通过如下电子邮件地址发送:
[email protected]
所以就我而言,“H-educate.com”是我用来发送电子邮件的域名。 因此,当您从 SMTP 服务器发送电子邮件时,只需要有一个域名即可使用。
通常,这是您的网站域名,除非您使用冷电子邮件,否则最好获取并使用另一个域以防它被列入黑名单,以确保您的主要业务域安全。
因此,如果您还没有域名,请立即购买! 为了继续安装。
如何获得域名? 只要你买一个! 而且每年花费大约 10 美元,所以没什么大不了的!
我们有很多域名注册提供商,您可以从以下位置获取域名:
- 天哪。
- 名不虚传。
- 自由名。
- 以诺。
- 谷歌域名。
在课程中,我将使用Godaddy获取我的域名,但您可以根据需要使用任何其他服务,所有服务都以相同的方式工作,如果您需要任何帮助,我会在这里
如果您是初学者,您可以观看这个 3 分钟的视频,了解如何从 Godaddy 域名注册商获取和购买域名。
有域名吗? 伟大的! ️让我们继续。
2. 开放25端口的VPS服务器。
您需要的第二件事是 VPS 服务器。 用于安装和设置 SMTP 的公共服务器。
什么是 VPS 服务器?
如果您不知道什么是 VPS 服务器,只需从 Web 托管或云服务公司购买的在云中运行的计算机(服务器)即可。 它可以通过公共 IP 公开访问。
VPS 可用于托管具有更高性能的网站,可用于在云中 24/7 运行机器以执行您想要的任何任务。
注意:如果您有兴趣学习如何在 VPS 服务器上托管自己的网站,您可以
无论如何,在我们的例子中,我们将使用 VPS 服务器来构建 SMTP 服务器。
25端口开放??
我提到VPS必须打开25端口,这是什么意思?
我不想在交易技术方面打扰您,但简而言之。 任何网络服务或软件都使用特定端口通过 Internet 或网络进行通信。 例子:
- 使用 RDP 软件远程连接到另一台 Windows 机器通过端口3389工作。
- 我们计算机上的 MYSQL 等 SQL 数据库系统通过端口3306工作。
- 远程连接到 Linux 机器以使用 SSH 对其进行管理,使用端口22 。
- 当您上网和打开网站时,我们使用端口80 。 等等。
默认情况下,所有服务器和计算机都运行防火墙,它会阻止除您想要的端口之外的所有端口。 所以为了使用某个服务,我们需要在防火墙中打开那个端口。
您还必须知道,端口可以通过传入和传出两种方式被阻止和打开,下图将使事情更清楚:
我建议您观看我的免费课程“面向数字营销人员的 Amazon EC2”,您将在不到一个小时的时间内了解所有这些概念。
因此,在我们的例子中,我们正在构建一个 SMTP 服务器,并且SMTP 软件或协议通过端口 25 进行通信。 所以我们需要打开 25 端口。
因此,当您获得 VPS 服务器时,只需确保公司允许端口 25并且不要阻止它,因为有些公司这样做是为了防止垃圾邮件发送者。
以下是一些默认允许端口 25 的公司的列表:
- 宿主风。
- 联系方式。
- 服务器间。
- OVH。
- 数字海洋*
- AWS(一些账户被封锁)
*Digital Ocean 有时会屏蔽一些账户并限制 25 端口,但一般情况下它们允许所有端口。
还有其他公司吗?? 是的,您可以联系任何您想要的公司的支持人员,询问他们是否默认阻止任何端口。 如果没有,那么完美,您可以使用它。
随意使用任何你想要的 VPS 公司,这取决于你!
您还可以通过下面的优惠券链接在 DigitalOcean 上注册,以获得免费的 100 美元来免费测试所有内容。
或者从 Contabo 开始,我认为它是您可以使用的最便宜的 VPS 服务,我有 2 台服务器配置了 Contabo。
选择您的 VPS 公司后,只需创建一个具有以下规格的 VPS 服务器:
- Ubuntu 18 x64 作为您的操作系统
- 您可以从1 CPU/2 GB RAM开始(稍后调整大小)。
有你的VPS吗? 伟大的! ️让我们继续。
VPS 服务器基本配置。
现在我们有了新的 Ubuntu VPS 服务器,让我们为安装做好准备。
使用像putty或bitvise这样的 SSH 客户端连接到您的服务器。
首先,检查您的主机名:
主机名 -f
如果您没有看到ANYTING.YOURDOMAIN.COM的形式,那么您需要使用以下命令更改主机名:
sudo 主机名 host.domain.tld
主机是你想要的任何东西。 所以就我而言,本教程的示例域是xmailing.me ,命令如下所示:
sudo 主机名 postal.xmailing.me
映射您的域名。
现在我们有了我们的 VPS 服务器并设置了它的名称。 转到您的域提供商并将您的域映射到您的 VPS 服务器。 只需打开 DNS 管理区域并添加一个新的 A 记录,如下所示:
主机:服务器点:您的服务器 IP 。
*server 就我而言,您可以选择任何您想要的服务器名称。
完毕? ️让我们继续。
设置免费 SMTP 服务器
VPS 已准备就绪,我们可以开始安装过程。 所以为了在我们的 VPS 上设置 SMTP 服务器,我们需要安装一个 SMTP 软件。
安装 Postal Free SMTP 软件
先决条件
Postal 完全使用容器运行,这意味着要运行 Postal,您需要一些软件来运行这些容器。 我们建议为此目的使用 Docker,但您可以使用任何您想要的软件。
要安装 docker,请运行以下命令。 (注意:每个命令都以 - 开头)
-sudo apt-get 更新 -sudo apt-get 安装\ 易于传输-https \ ca证书\ 卷曲\ gnupg\ lsb-发布 -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -回声\ “deb [arch=amd64 签名=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -sudo apt-get 更新 -sudo apt-get install docker-ce docker-ce-cli containerd.io -sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local /bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose -docker-compose--版本
系统实用程序
在运行某些 Postal 命令之前,您需要安装一些系统实用程序。
apt install git curl jq
Git 和安装助手存储库
通过运行以下命令,确保您在服务器上安装了 git。
-git clone https://postalserver.io/start/install /opt/postal/install -sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
玛丽亚数据库
假设您有 Docker,您可以使用此命令在容器中运行 MariaDB。 将这一切复制并粘贴到 Putty 中。
docker run -d \ --name postal-mariadb \ -p 127.0.0.1:3306:3306 \ --restart always \ -e MARIADB_DATABASE=postal \ -e MARIADB_ROOT_PASSWORD=postal \ mariadb
这将在 MariaDB 上安装您的邮政数据库。
兔MQ
RabbitMQ 负责在不同进程之间调度消息。 与 MariaDB 一样,您可以通过多种方式安装它。 对于本指南,我们将只运行一个 RabbitMQ 工作者。 将以下所有内容复制为一个命令并粘贴到腻子上。
docker run -d \ --name postal-rabbitmq \ -p 127.0.0.1:5672:5672 \ --restart always \ -e RABBITMQ_DEFAULT_USER=postal \ -e RABBITMQ_DEFAULT_PASS=postal \ -e RABBITMQ_DEFAULT_VHOST=postal \ rabbitmq:3.8
安装
运行以下命令并将postal.yourdomain.com
替换为您要访问 Postal Web 界面的实际主机名。 在继续之前,请确保您已使用您的 DNS 提供商设置了此域。
postal bootstrap postal. YOURDOMAIN.COM
初始化数据库
运行以下命令来创建架构,然后创建您的第一个管理员用户。
postal initialize postal make-user
运行邮政
您现在已准备好运行 Postal。 您可以通过运行:
postal start
这将在您的机器上运行许多容器。 您可以使用postal status
来查看这些组件的详细信息。
安装 WEB 客户端
您可以使用任何 Web 客户端在您的 Web 上运行 postal,但在本指南中,我们将使用 Caddy。 使用以下命令使用 SSL 安装它。
docker run -d \ --name postal-caddy \ --restart always \ --network host \ -v /opt/postal/config/Caddyfile:/etc/caddy/Caddyfile \ -v /opt/postal/caddy-data:/data \ caddy
一旦开始,Caddy 将为您的域颁发 SSL 证书,您将能够立即访问 Postal Web 界面并使用您在前面的步骤之一中创建的用户登录。
配置邮政 SMTP
现在,打开您的 Internet 浏览器,并导航到您的服务器 IP URL 或子域,如下所示:
https://YOUR_SERVR_ADDRESS
您会注意到 SSL 警告,如下图所示,可以继续:
然后将打开邮政登录屏幕,输入您在设置期间创建的电子邮件和密码进行登录。
现在,您在 Postal 中,单击“添加组织”添加一个。
然后单击 Build Mail Server 并输入名称,并将其设置为实时模式
很简单。 ️
邮政域配置
现在,单击域将您的域名添加到邮政
输入您要用于发送电子邮件的域名,然后单击创建域。
然后,邮政将向您显示域页面,其中包含您需要配置的记录。
因此,您需要做的只是复制这些记录并粘贴到您的 DNS 区域中。 然后您的服务器将准备好发送电子邮件! 但是SPF 和 DKIM是什么?
Dkim(域密钥识别邮件):
让我们从 DKIM 开始,DKIM 记录也是您的 DNS 中的一条文本记录,它包含一个公共身份验证密钥。 此密钥将使用在您的服务器中私下保存的私钥进行验证。
所有电子邮件都会被签名,这将避免任何更改并保护您的电子邮件原创性,这对于您的服务器存档高发送分数非常重要。
观看此视频了解更多信息:
为邮政设置 Dkim
Postal 的优点是 DKIM 已经配置好并生成了密钥,您只需将 DKIM 记录复制到您的 DNS 区域。
SPF(发件人策略框架):
SPF记录是添加到您的域 DNS 区域的 TXT 记录,允许您设置允许从您的域发送电子邮件的邮件服务器。
从未包含在SPF记录中的服务器发送的邮件将被标记为垃圾邮件或被拒绝。
例如,您不能从自己的服务器发送电子邮件并将您的发送电子邮件设置为“ [email protected]”,您就不能使用 google 的域。 这表明您正在尝试发送垃圾邮件。
同样,您可以配置 SPF 并防止任何人使用您的域发送电子邮件,因此设置 SPF 对于使您的域受到其他邮件提供商的信任非常重要。
设置 SPF。 打开您的 DNS 区域并添加以下记录:
v=spf1 一个 mx ip4:XXX.XXX.XXX.XXX -all
*替换为您的 VPS 服务器 IP。
现在只有您的服务器可以从您的域发送电子邮件。
如果你注意到了,Postal 会给你一个示例 SPF 来复制,它看起来像这样:
v=spf1 一个 mx 包括: spf.postal.example.com ~all
这只是一个示例域,您需要在邮政配置文件中更改它以匹配您的域名。 如何?
编辑邮政配置文件。
要编辑邮政配置文件,我们需要使用文件管理器连接到我们的服务器以简化操作。
因此,您可以使用免费的远程文件管理器 WinSCP 来连接和编辑服务器上的文件。
打开WinSCP ,并使用根凭据连接到您的服务器。 并转到: /opt/postal/config目录。 然后打开postal.yml文件。
然后,右键单击并编辑该文件。
如您所见,只需将示例域更改为您的域名即可。
之后需要重启postal才能使配置生效。
所以在你的服务器上运行这个命令:
邮政重启
刷新您的网页,您现在必须看到 example.com 已被您的域替换,您可以简单地将 SPF 记录复制到您的 DNS 区域。
很不错! ️
现在我们的服务器已经准备好进行测试了。
最后! 发送测试电子邮件
Postal具有测试发送电子邮件的内置功能,只需单击Messages ,然后单击Send Message即可测试免费 SMTP 服务器!
哇!
现在您可能想知道如何使用此 SMTP 作为中继从任何电子邮件营销应用程序发送电子邮件。
答案很简单,就是在Postal中创建“凭据”来连接和验证我们的免费 SMTP 服务器。
创建邮政凭证以中继电子邮件
要创建凭据,只需单击Credentials ,然后单击Add new Credentials 。
对于类型,选择SMTP 。
如果您想通过 API 连接到邮政或开发自己的与邮政一起使用的应用程序,您也可以选择API 。 在此处阅读有关 API 的更多信息。
输入用户(任何你想要的)
而Key ,就是密码,可以保存为“自动生成”
就是这样,您现在可以在任何电子邮件营销应用程序中使用这些凭据。
中继测试电子邮件
很简单,转到 SMTPER.NET 并输入您的服务器详细信息,如下所示:
- SMTP 主机:您的服务器 IP 或域。
- 端口: 25 或 2525
- 登录:您在凭据中输入的用户。
- 密码:用户密码。
因此,这些是您可以在任何电子邮件发件人应用程序中使用的凭据。
而已! 我希望一切都简单明了。 我们完成了免费 SMTP 服务器的设置!
如果您有任何问题,您可以在 H-asnwers.com 上提出您的问题
如果您想获得关于建立自己的冷电子邮件外展系统的完整 Udemy 课程 - 邮政和 Mautic ,您现在可以注册并享受特别的限时折扣。
另请参阅:PowerMTA 邮件服务器完整设置指南
在您发送之前!
恭喜! 您使用 Postal 设置您自己的免费 SMTP 服务器。 但在您开始发送电子邮件之前,您必须了解一些重要概念并遵循指导方针以获得最佳递送率并到达收件箱!
预热您的 SMTP 服务器
当您使用新的 IP 地址构建新的 SMTP 服务器时,并且在开始发送电子邮件营销活动之前,您必须预热您的 IP 地址。
什么是预热 IP?
当您的 SMTP 有新的品牌 IP 地址时,此 IP 在 Internet 上将没有声誉,并且 ISP(互联网服务提供商)不知道此 IP。
因此,IP 预热是通过根据预定时间表逐渐增加使用您的 IP 地址发送的邮件量来建立您在 Internet 上的声誉的做法。
下表显示了预热服务器的示例:
热身日 | 要发送的电子邮件 |
1 | 20 |
2 | 50 |
3 | 100 |
4 | 300 |
5 | 500 |
6 | 700 |
7 | 900 |
8 | 1000 |
此表显示了一个场景,如果您希望每天收到 1K 封具有良好声誉的电子邮件。 有关详细信息,请参阅我的预热 SMTP 指南。
另外,你可以在这里观看我关于热身的完整视频:
rDNS(反向 DNS):
反向 DNS 称为指针记录,用于将您的 IP 指向您的域,它与常规 DNS A 记录相反。
因此,当您调用 IP 时,您将获得名称。 它也是设置邮件服务器和提高发送分数和声誉的重要因素。
在此处了解有关 rDNS 的更多信息:
DMARC(基于域的消息身份验证、报告和一致性):
它是一种使用 (SPF) 和 (DKIM) 来确定电子邮件消息真实性的协议。
DMARC 使 Internet 服务提供商 (ISP) 能够更轻松地防止恶意电子邮件行为,例如域欺骗以通过网络钓鱼获取收件人的个人信息。
它允许电子邮件发件人指定如何处理未使用 SPF 或 DKIM 进行身份验证的电子邮件。 发件人可以选择将这些电子邮件发送到垃圾文件夹或让它们一起阻止它们。
要了解 DMARC 对您的在线业务的重要性以及如何设置,请观看此视频:
MX 记录
邮件交换 (MX)记录是将电子邮件传送到您的地址所必需的 DNS 记录。
在简单的 DNS 术语中,MX 记录用于告诉全世界哪些邮件服务器接受您域的传入邮件,以及发送到您域的电子邮件应该路由到哪里。 如果您的 MX 记录没有指向正确的位置,您将不会收到电子邮件。
避免垃圾邮件因素
主要是我们有四个主要因素决定您的垃圾邮件得分:
- 知识产权声誉
- SPF、DKIM、rDNS 和 DMARC。
- 邮件正文
- 电子邮件列表健康。
前两个因素在上面已经解释过了。 我们仍然有消息正文和电子邮件列表健康。
邮件正文
只是您的电子邮件的主题和内容。 它看起来像垃圾邮件吗? 它有任何垃圾关键字和触发器吗? 这决定了您的消息分数。
在创建主题行和消息正文时,请务必避免任何这些。
查看 Hubspot 上的这篇文章,了解有关垃圾邮件关键字的更多信息。
您可能还对这篇文章感兴趣“如何在收件箱中登陆您的电子邮件? 终极指南!”
电子邮件列表健康
简单地说,它由两件事决定:
- 跳出率:您的列表中有多少电子邮件有效。
- 垃圾邮件陷阱:您的列表是否包含任何垃圾邮件陷阱?
在此视频中了解有关垃圾邮件陷阱以及如何避免的更多信息:
并且始终确保在发送任何活动之前验证您的电子邮件列表并清理它。 在这里查看我的免费在线电子邮件验证服务。
我想你也会有兴趣观看这个视频:
跟进我的 Youtube 频道,观看有关电子邮件营销、数字营销和在线业务的每日精彩新视频,以在线成长。
此外,加入我的电子邮件营销时事通讯以获取我仅与我的电子邮件订阅者共享的独家电子邮件营销技巧。
可选(如果您使用 NGINX):使用免费 SSL 确保安全。
SSL 证书在 Web 服务器中用于加密服务器和客户端之间的流量,为访问您的应用程序的用户提供额外的安全性。 Let's Encrypt提供了一种免费获取和安装可信证书的简单方法。
使用 Putty SSH 客户端连接到您的服务器。 让我们开始吧!
第 1 步 — 安装 Let's Encrypt 客户端
Let's Encrypt 证书是通过在您的服务器上运行的客户端软件获取的。 官方客户端称为Certbot 。
通过运行以下命令安装 Certbot:
apt -y 安装 certbot
Certbot现在可以使用了。 ️
第 2 步 — 获取 SSL 证书
但是,在我们获得 SSL 证书之前,我们需要停止 nginx 服务,因为它使用 certbot 将使用的端口 80。 所以让我们通过运行以下命令暂时停止它:
sudo systemctl 停止 nginx
现在让我们安装证书,运行以下命令:
certbot certonly --standalone -d postal.xmailing.me
将“ postal.xmailing.me ”替换为您的域。
并按照向导。 然后 certbot 将为您的域颁发证书。
第 3 步 — 配置 SSL 证书
在我们获得 SSL 证书后,我们需要在我们的服务器中对其进行配置。
让我们再次启动 nginx 服务:
sudo systemctl 启动 nginx
现在,再次打开WinSCP以编辑我们服务器上的一些文件。
连接到您的服务器,然后转到/etc/nginx/conf.d目录。
在此文件夹中,创建一个新文件并将其命名为:“ postal.xmailing.me 。 配置“
将“ postal.xmailing.me ”替换为您的域。
然后,只需复制以下代码并粘贴到文件中。
服务器 { 听 [::]:80; 听0.0.0.0:80; server_name postal.xmailing.me ; 返回 301 https://$host$request_uri; } 服务器 { 听 [::]:443 ssl; 听 0.0.0.0:443 ssl; 根 /opt/postal/public; server_name postal.xmailing.me ; ssl_certificate /etc/letsencrypt/live/ postal.xmailing.me /fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/ postal.xmailing.me /privkey.pem; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers 开启; ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+AESGCM:ECDH+AES256:DH+AESGCM:DH+AES256:RSA+AESGCM :!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; 地点 / { client_max_body_size 50M; try_files $uri $uri/index.html $uri.html @puma; } 位置 /app/assets { add_header 缓存控制 max-age=3600; } 位置@美洲狮{ proxy_set_header X-Real-IP $remote_addr; proxy_set_header 主机 $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_pass http://127.0.0.1:5000; } }
并保存文件。
最后一步是重新启动并再次启用 nginx。 只需运行以下命令:
systemctl 重启 nginx
然后这个命令:
systemctl 启用 nginx
太棒了,现在您可以测试您的安全邮政网站!
祝你好运!