← Blog

如何从SendGrid迁移到Mailer To Go

指南 迁移, SMTP, 可投递性, SendGrid July 9, 2026 by 邮件工具团队
一份从SendGrid迁移事务性电子邮件到Mailer To Go的分步指南:发送域设置、SPF/DKIM/DMARC、交换SMTP/API凭证、导入抑制列表,以及具有回滚功能的安全并行运行切换。

将您的事务性电子邮件从 SendGrid 迁移到 Mailer To Go 主要是 DNS 和凭证的交换——难点不在代码,而在于切换而不丢失您的发送信誉或重新发送已退回或取消订阅的人。本指南按顺序介绍整个迁移过程,包括确切的配置更改和安全的、可逆的推出。

如果您仍在考虑中,SendGrid 替代品对比涵盖了原因。本指南是方法。

开始前:盘点 SendGrid 为您做了什么

迁移出错往往是因为某些隐形的东西被遗留下来了。列出以下内容:

第 1 步——创建您的 Mailer To Go 发送域

在 mailertogo.com 注册并添加发送子域而不是您的根域——我们建议 mtg.yourdomain.com。它隔离了您的信誉,如果您委托它,允许我们为您管理 DNS。请参阅为什么 Mailer To Go 从 mtg.yourdomain.com 发送了解理由和设置。

第 2 步——身份验证(SPF、DKIM、DMARC)

发布您的仪表板中为发送域显示的 SPF、DKIM 和 DMARC 记录。如果您已经为 SendGrid 运行 DMARC,您领先了——您只需在重叠期间将 Mailer To Go 添加为授权源,并在 SendGrid 消失后收紧。带有真实记录和 dig 验证的完整演练:端到端电子邮件身份验证。

第 3 步——交换您的凭证

SMTP。 SendGrid 的标志性配置是字面用户名 apikey。改为将相同的邮件程序指向 Mailer To Go:

# 之前——SendGrid
host: smtp.sendgrid.net   port: 587
username: apikey
password: SG.xxxxxxxx   (您的 SendGrid API 密钥)

# 之后——Mailer To Go
host: smtp.<region>.mailertogo.net   port: 587
username: <MAILERTOGO_SMTP_USER>
password: <MAILERTOGO_SMTP_PASSWORD>

在 Rails 中,那只是新的环境值——无代码更改:

# config/environments/production.rb
config.action_mailer.smtp_settings = {
  address:              ENV["MAILERTOGO_SMTP_HOST"],   # smtp.<region>.mailertogo.net
  port:                 587,
  user_name:            ENV["MAILERTOGO_SMTP_USER"],
  password:             ENV["MAILERTOGO_SMTP_PASSWORD"],
  authentication:       :plain,
  enable_starttls_auto: true
}

API。 如果您使用 SendGrid 的 SDK,将传输切换到 SMTP(代码最少的路径)或 Mailer To Go API。在 Node 中,从 @sendgrid/mail 通过 Nodemailer 切换到 SMTP:

// 之前——@sendgrid/mail
// sgMail.setApiKey(process.env.SENDGRID_API_KEY);
// await sgMail.send({ to, from, subject, html });

// 之后——Nodemailer over Mailer To Go SMTP
const nodemailer = require("nodemailer");
const transport = nodemailer.createTransport({
  host: process.env.MAILERTOGO_SMTP_HOST,
  port: 587,
  auth: { user: process.env.MAILERTOGO_SMTP_USER, pass: process.env.MAILERTOGO_SMTP_PASSWORD },
});
await transport.sendMail({ to, from, subject, html });

第 4 步——导入您的抑制列表(请勿跳过)

在切换前从 SendGrid 导出您的抑制 —— 仪表板中的抑制 → 全局取消订阅/退回/垃圾邮件举报/阻止,或通过 API:

curl -s -H "Authorization: Bearer $SENDGRID_API_KEY" \
  https://api.sendgrid.com/v3/suppression/bounces > bounces.json
curl -s -H "Authorization: Bearer $SENDGRID_API_KEY" \
  https://api.sendgrid.com/v3/suppression/unsubscribes > unsubscribes.json

将这些地址加载到您的 Mailer To Go 抑制列表中,这样硬退回或取消订阅的联系人就永远不会收到电子邮件。这一步单独保护了您在 SendGrid 上花费多年建立的信誉。

第 5 步——预热并逐步切换

您的新发送域还没有信誉,所以不要一次性切换 100% 的流量。并行运行两个提供商并分阶段转移流量——例如 10% → 25% → 50% → 100% 在一到两周内——从您最敬业、风险最低的邮件开始(密码重置、收据)。在每个步骤观察退回和投诉率。直到您完全切换,保持 SendGrid 活跃并能够恢复流量。

第 6 步——验证,然后停用

回滚

因为切换是凭证 + DNS,回滚很快:将您的邮件程序的环境变量指向回 SendGrid。在重叠期间保持两个提供商都通过身份验证是使其成为单行更改而不是紧急情况的原因。


刚开始从子域发送或进行电子邮件身份验证?从为什么 Mailer To Go 从 mtg.yourdomain.com 发送和 SPF/DKIM/DMARC 设置指南开始。从其他提供商迁移?请参阅从 Mailgun 迁移到 Mailer To Go。