自建 Postal 完美替代 SendGrid

💡 原文中文,约3900字,阅读约需10分钟。
📝

内容提要

本文介绍自建Postal邮件服务器以替代SendGrid。需准备域名、VPS(开放25端口、设置rDNS),安装Docker、MariaDB及Postal,配置DNS记录。Postal支持收发邮件、SMTP凭据及隐私模式,可完全替代SendGrid,更自由。作者因SendGrid账户无法登录而转向Postal,使用体验良好。

🔎

延伸解读

自建邮件服务器的前提条件

自建Postal需要满足几个关键条件:一个专用域名(如postal.example.com)、一台允许25端口出入站流量的VPS,并设置rDNS指向该域名。文章强调,25端口是否开放直接影响发信成功率,且不同VPS提供商政策不同,如ServerHub无限制而DMIT禁止IPv4出站25端口。因此,在部署前务必测试VPS的25端口连通性,并确认提供商允许相关流量。

Postal与SendGrid的对比

Postal作为自托管邮件发送服务,可完全替代SendGrid,且提供更多自由。文章作者因SendGrid账户无法登录而转向Postal,使用体验良好。Postal支持收发邮件、SMTP凭据和隐私模式,可避免泄露客户端IP。相比SendGrid等托管服务,自建Postal需要自行维护服务器和配置,但数据自主可控,且无账户锁定风险。

安装与配置要点

安装Postal需准备Docker、MariaDB和Caddy,并配置DNS记录。文章详细列出了安装步骤,包括生成GitHub token以拉取镜像、初始化数据库、创建管理员等。配置时需注意数据库权限和innodb_log_file_size设置,以确保邮件记录正常。DNS配置需为postal.example.com添加A/AAAA记录,并将MX记录CNAME到该域名。

Q&A

如何测试VPS是否允许25端口的出入流量?

测试出站:使用 telnet smtp.google.com 25 连接其他服务器的25端口。测试入站:在本机监听25端口(nc -l -p 25),放行入站流量(如 ufw allow 25/tcp),然后从外部 telnet <YOUR_VPS_IP> 25。

Postal 对服务器硬件有什么要求?

Postal 建议至少 4GB 内存和 25GB 存储空间。

Postal 安装过程中需要哪些组件?

需要安装 Docker、MariaDB(可用Docker运行)、Postal 本体,以及 Caddy 作为反向代理。

如何配置 Postal 的 DNS 记录?

为 postal.example.com 创建 A 和 AAAA 记录指向服务器 IP,并根据官方文档配置其他记录(如 MX、SPF、DKIM等)。配置文件中 dns.mx_records 中的域名应 CNAME 到 postal.example.com。

Postal 支持哪些发信方式?

支持通过 Web 界面发送测试邮件,也支持添加 SMTP 凭据后使用 SMTP 客户端发信。

Postal 的隐私模式有什么作用?

建议打开隐私模式,以避免泄漏 SMTP 客户端的 IP 地址。

Postal 能否替代 SendGrid?

可以。Postal 支持收发邮件、SMTP凭据和隐私模式,能完全替代 SendGrid 之类的服务,并且更加自由。

🏷️

标签

➡️

继续阅读