如何从 SparkPost 迁移到 SendGrid

已发表: 2017-08-22

作为基于云的交易电子邮件的先驱,我们已经看到了该领域的许多变化和新公司。 我们在这些公司中看到的趋势是,他们首先模仿我们,然后攻击我们,然后再模仿我们。 除了在下面提供详细的迁移指南之外,我们还想就我们的客户从 SendGrid 获得的价值提供一些想法。

首先,我们的每一位客户,包括那些使用我们免费计划的客户,都会得到我们经验丰富的支持团队的支持。 对于我们免费计划的客户,即使他们没有升级到付费计划,这种支持也会继续。 对于所有客户,我们的客户所在的每个地区,一年中的每一天,每天 24 小时都可以提供支持。 我们的支持服务是我们致力于让 SendGrid 平台的所有用户随时为他们提供成功的承诺的一部分。

其次,从最小的初创公司到最大的企业,API 驱动的程序化电子邮件并不是这些公司使用电子邮件联系客户的唯一方式。 他们还发送时事通讯、公告和活动,以提高客户参与度并推动购买。 在 SendGrid,我们致力于满足所有客户沟通需求,并为营销和促销以及程序化提供完整的团队支持。 我们的营销活动产品让您可以使用我们直观的 UI 和高级细分、分析和设计工具来吸引您的客户。

最后,我们有超过 55,000 名付费客户每天处理超过 10 亿封电子邮件,这是有原因的。 原因是我们利用我们对客户沟通的热情和我们深厚的电子邮件专业知识来帮助我们的客户发展他们的业务。 他们与我们合作的每一天,我们的客户都会感受到我们的文化和我们对他们成功的承诺。

如何从 Sparkpost 迁移到 SendGrid

注意:以下迁移计划由我们的社区开发团队提供。 本指南将重点介绍通过 SparkPost 发送电子邮件和通过 SendGrid 发送电子邮件之间的一些区别,以帮助尽可能轻松地进行迁移。

如果您想在出发前四处看看,请查看 SendGrid 文档。 课堂是在深入了解 API 参考和详细信息之前开始学习电子邮件的好地方。

术语

如果您正在寻找与某些 SparkPost 功能等效的 SendGrid,下表将有所帮助:

SendGrid 术语SparkPost 术语
替换/部分替代数据
类别标签
独特的参数元数据
子用户子帐户
压制禁止名单
X-SMTPAPI X-MSYS-API
入站解析 Webhook 入站域
营销活动没有等价物

获取 API 密钥

首先,您需要一个 SendGrid 帐户。 接下来,您应该创建一个用于发送的 API 密钥。 转到Settings -> API keys ,或使用此链接。 SendGrid 和安全最佳实践是为每个不同的应用程序使用不同的 API 密钥。 API 密钥具有精细的权限,因此您可以启用或禁用各个端点的读取或写入访问权限。 确保您创建的 API 密钥对Mail Send具有完全访问权限。 (注意:您的帐户必须先通过配置,然后才能创建 API 密钥。)

API 库

我们有许多官方支持的 API 库,可以让我们的客户更轻松地进行集成。 如果您正在重写任何代码,或者在迁移过程中重构与 ESP 的通信方式,那么现在是评估这些库的好时机:

  • sendgrid-csharp – 官方 C# 库
  • sendgrid-go – 官方 Go 库
  • sendgrid-java – 官方 Java 库
  • sendgrid-nodejs – 官方 NodeJS 库
  • sendgrid-php – 官方 PHP 库
  • sendgrid-python – 官方 Python 库
  • sendgrid-ruby – 官方 Ruby 库

SMTP

如果您通过 SMTP 发送,您应该注意一些差异。 要进行身份验证,请提供字符串“apikey”作为 SMTP 用户名,并使用您的 API 密钥作为密码。 然后将您的主机名指向smtp.sendgrid.net

您可以在端口 25、2525 和 587 上通过未加密或 TLS 使用 SMTP 进行连接。您也可以通过端口 465 上的 SSL 进行连接。通常,我们建议使用端口 587,因为它往往会导致与托管服务提供商的问题最少。

自定义通过 SMTP 发送的电子邮件的机制是我们的 X-SMTPAPI 标头。 此标头将允许您定义替换、发送批量邮件合并样式请求以及控制对您的发送有效的过滤器(如点击跟踪)。

HTTP

发送电子邮件的主要端点是 Mail 端点。 对此端点的请求通过授权标头进行身份验证,您的 API 密钥作为不记名令牌提供。 您可以在我们的文档中找到更详细的示例。

个性化允许您为每条消息定义收件人和元数据,例如用于自定义内容的替换值或用于将消息与用户 ID 或订单号相关联的 custom_args。 有许多常见用例的个性化示例。 您还可以找到 cURL 示例调用。

点击跟踪等功能通过 tracking_settings 和 mail_settings 参数进行配置。 您还可以使用“send_at”参数最多提前 72 小时安排发送。

通过 HTTP 发送的附件以类似于 SparkPost 的方式处理,其中内容被编码为 Base64 并与 MIME 信息一起直接嵌入 JSON 有效负载中。 您可以在我们的文档教室的以下部分阅读有关包含附件的更多信息。

网络挂钩

SendGrid 提供了两个 webhook:用于发布实时事件的 Event Webhook,以及用于接收电子邮件并以编程方式响应它们的 Inbound Parse Webhook。 数据形状和有效负载与 SparkPost 提供的有点不同。

非电子邮件 API 端点

对于不发送电子邮件的 API 端点,请查看 API v3 概述。 在大多数情况下,我们使用直观的 HTTP 方法和响应代码,并对调用实施速率限制。 API v2 已被弃用,但没有停止支持它的时间表。 所有新的集成都应该首选 v3。 API v3 身份验证是通过带有不记名令牌的身份验证标头完成的。

营销活动

我们拥有一个功能齐全的平台,用于管理联系人列表、创建和设计模板、A/B 测试不同的模板以及安排活动。 这一切都包含在一个易于非开发人员使用的 UI 中。 当然,您还可以通过我们的营销活动 API 访问所有这些功能。

一些常见问题解答

问:你们支持交易电子邮件的模板吗?

答:是的——而且它们是动态的! SendGrid 的事务模板具有对 Handlebars 语法的本机支持。 除了基本的替换和替换之外,您还可以使用枚举/迭代列表,利用条件等。 要了解更多信息,请点击这里。

问:是否有沙盒或方法可以在不发送电子邮件的情况下测试我的电子邮件?

答:通过 HTTP 发送时,您可以启用沙盒模式。 还有一个“接收器”地址可用于测试。

问:是否可以将我的 IP 地址/发件人信誉转移到 SendGrid?

答:我们无法迁移 IP 或声誉,但我们可以帮助您自动为您预热新 IP。

问:SendGrid 是否支持强制 TLS

答:当然。 您可以要求接收服务器支持 TLS 并将消息丢弃到不符合要求的服务器。

问:我可以让我的收件人定义他们想要接收的电子邮件类型吗?

答:是的。 让您的收件人更好地控制他们的电子邮件可以让您发送人们想要的电子邮件,这对每个人都有好处。 查看退订群组以获取更多信息。

如果您有兴趣迁移到 SendGrid,可以在 sendgrid.com/pricing 找到更多信息。