如何从Postmark迁移到Mailer To Go
Postmark 因快速、可靠的交易型投递而享誉盛名——所以如果你在迁移,你已经重视可投递性。好消息是:切换到 Mailer To Go 只需交换 DNS 和凭证,你可以并行运行两者,并在任何时刻回滚。以下是整个迁移过程。
先权衡一下?查看 Mailer To Go 对比 Postmark 中两者的对比。本指南介绍如何操作。
开始前:清点 Postmark 为你做的事情
- 服务器和消息流 — Postmark 将交易型和广播型分为流;记下你使用的是哪些。
- 发送人签名/域 — 你已验证的 From: 地址和域。
- 抑制数据 — 每个消息流的退回和垃圾邮件投诉。这必须随你迁移;重新发送被抑制的地址会毁掉新域的信誉。
- 你的发送方式 — SMTP(带 Server API Token)或 Postmark HTTP API(
X-Postmark-Server-Token),或两者都用。 - Webhook — 投递/退回/打开/点击,及其使用者。
- 流量 — 平均和峰值,用于预热规划。
第 1 步 — 创建你的 Mailer To Go 发送域
在 mailertogo.com 注册并添加发送子域 — 我们建议 mtg.yourdomain.com。它隔离你的信誉,如果你委托它,让我们管理 DNS。查看 为什么 Mailer To Go 从 mtg.yourdomain.com 发送。
第 2 步 — 认证(SPF、DKIM、DMARC)
从你的仪表盘发布 SPF 和 DKIM 记录,加上 DMARC 策略。你在 Postmark 中做过类似的事情(DKIM + Return-Path),所以这很熟悉——只是值不同。在重叠期间让两个提供商都在域上授权。完整演练和 dig 验证:端到端电子邮件认证。
第 3 步 — 交换你的凭证
SMTP。 Postmark 的特征是 smtp.postmarkapp.com 配合你的 Server API Token 作为用户名和密码都用。指向 Mailer To Go 而非 Postmark:
# 之前 — Postmark
host: smtp.postmarkapp.com port: 587
username: <Server API Token>
password: <Server API Token>
# 之后 — Mailer To Go
host: smtp.mailertogo.com port: 587 (或 465 用于 SSL)
username: <MAILERTOGO_SMTP_USER>
password: <MAILERTOGO_SMTP_PASSWORD>
在 Rails 中,那只是新的环境值——无需改代码:
# config/environments/production.rb
config.action_mailer.smtp_settings = {
address: ENV["MAILERTOGO_SMTP_HOST"], # smtp.mailertogo.com
port: 587,
user_name: ENV["MAILERTOGO_SMTP_USER"],
password: ENV["MAILERTOGO_SMTP_PASSWORD"],
authentication: :plain,
enable_starttls: true
}
API。 如果你调用 Postmark 的 HTTP API,最省力的办法是通过 SMTP 指向 Mailer To Go(最少代码)。完整的按语言示例:用 Mailer To Go 发送电子邮件。
第 4 步 — 导入你的抑制列表(不要跳过)
切换前从 Postmark 导出抑制——从仪表盘或通过 API 按消息流:
curl "https://api.postmarkapp.com/message-streams/outbound/suppressions/dump" \
-H "Accept: application/json" \
-H "X-Postmark-Server-Token: $POSTMARK_SERVER_TOKEN" > postmark-suppressions.json
将这些地址加载到你的 Mailer To Go 抑制列表,这样任何在 Postmark 上退回或投诉过的人都不会再被发送邮件。
第 5 步 — 预热并逐步切换
新发送域还没有信誉,所以不要一次翻转全部。并行运行两个提供商并分阶段转移流量(10% → 25% → 50% → 100% 在一或两周内),从你最活跃的邮件开始(密码重置、收据)。在每个步骤监看退回和投诉率,并准备让 Postmark 接回流量直到你完全切换。
第 6 步 — 验证然后停用
- 发送测试并确认 SPF、DKIM 和 DMARC 都通过(Gmail → 显示原始内容)。
- 将你的 webhook 指向你的 Mailer To Go 事件处理器并确认退回/投诉事件流流通。
- 一旦通过 Mailer To Go 完全运行无误数天,关闭你的 Postmark 服务器——但保留 Postmark 的 DNS 记录一或两周作为回滚安全网,然后删除。
回滚
因为切换是凭证 + DNS,回滚很快:指向你的邮件程序的环境变量回到 Postmark。在重叠期间让两个提供商都授权就是让那成为单行改动的原因。
对子域发送或认证是新手?从 为什么 Mailer To Go 从 mtg.yourdomain.com 发送 和 SPF/DKIM/DMARC 设置指南 开始。来自不同提供商?查看 SendGrid、Mailgun 和 Amazon SES 的指南。