自建 Postal 完美替代 SendGrid
内容提要
本文介绍自建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 之类的服务,并且更加自由。