如何从 Dyn Email Delivery 迁移到 SendGrid
已发表: 2016-11-23随着最近有消息称 Dyn 被甲骨文收购其 DNS 管理业务,人们一直在寻找完全专注于电子邮件的解决方案。 我们的团队遇到了更多关于如何从 Dyn 电子邮件传递迁移到 SendGrid 的问题,因此我们决定整理本指南。
如果您想在出发前四处看看,请查看 SendGrid 文档。 课堂是在深入了解 API 参考和详细信息之前开始学习电子邮件的好地方。
自成立以来,我们一直是一家 API 优先、仅发送电子邮件的公司,您会发现这反映在我们的产品中。 我们的 HTTP 电子邮件端点、webhook、SMTP 和非电子邮件 API 是我们业务的核心,您会在它们的功能中看到这一点。 本指南旨在为您提供有关如何在 SendGrid 上进行设置的基础知识,同时重点介绍您当前的提供商所缺乏的有用功能。
获取 API 密钥
首先,您需要一个 SendGrid 帐户。 接下来,您应该创建一个用于发送的 API 密钥。 转到Settings -> API keys ,或使用此链接。 SendGrid 和安全最佳实践是为每个不同的应用程序使用不同的 API 密钥。 API 密钥具有精细的权限,因此您可以启用或禁用各个端点的读取或写入访问权限。 确保您创建的 API 密钥对Mail Send具有完全访问权限。 (注意:您的帐户必须先通过配置,然后才能创建 API 密钥。)
API 库
虽然 Dyn 提供 Python 和 PHP 的官方 SDK,但我们有七个官方支持的 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 发送,您应该注意一些差异。 首先,您无需担心根据您的邮件大小使用特定的 SMTP 服务器,如 Dyn 需要的。 我们还接受高达 ~19.5MB 的消息,而 Dyn 的限制为 10MB。 要进行身份验证,请提供字符串“apikey”作为 SMTP 用户名,并使用您的 API 密钥作为密码。 然后将您的主机名指向smtp.sendgrid.net 。
与 Dyn 相比,我们还提供额外的端口选项。 您可以在端口 25、2525 和 587 上通过未加密或 TLS 使用 SMTP 进行连接。您也可以通过端口 465 上的 SSL 进行连接。通常,我们建议使用端口 587,因为它往往会导致与托管服务提供商的问题最少。
自定义通过 SMTP 发送的电子邮件的机制是我们的 X-SMTPAPI 标头。 此标头将允许您定义键/值替换、发送批量邮件合并样式请求以及控制对您的发送有效的过滤器(如点击跟踪)。 您可以按类别对电子邮件进行分组,或使用 unique_args 跟踪每封电子邮件的元数据。 这些强大的功能可以减少您的发送时间和电子邮件交易所需的带宽量,值得探索。
HTTP
发送电子邮件的主要端点是 mail/send 端点。 对此端点的请求通过授权标头进行身份验证,您的 API 密钥作为不记名令牌提供。 您可以在我们的文档中找到更详细的示例。
与 Dyn 的 HTTP API 相比,我们的端点提供了更多功能,使您能够自定义和管理您的收件人,甚至可以在单个请求中发送多个不同的消息。
个性化允许您为每条消息定义收件人和元数据,例如用于自定义内容的替换值或用于将消息与用户 ID 或订单号相关联的 custom_args。 有许多常见用例的个性化示例。 您还可以找到 cURL 示例调用。
点击跟踪等功能通过 tracking_settings 和 mail_settings 参数进行配置。 您还可以使用“send_at”参数最多提前 72 小时安排发送。
我们还让向您的 API 请求添加附件变得非常容易。 只需将您的文件编码为 Base64 字符串,然后将其与 MIME 内容信息一起直接嵌入 JSON 有效负载中。 您可以在我们的文档教室的以下部分阅读有关包含附件的更多信息。
网络挂钩
SendGrid 提供了两个 webhook:Event Webhook 用于发布实时电子邮件事件,例如取消订阅、退回等,Inbound Parse Webhook 用于接收电子邮件并以编程方式响应它们。
这些功能在 Dyn 上不可用,但可以很好地为您的电子邮件管理添加额外的自动化。 当您开始设置时,它们值得一看。
非电子邮件 API 端点
对于不发送电子邮件的 API 端点,请查看 API v3 概述。 在大多数情况下,我们使用直观的 HTTP 方法和响应代码,并对调用实施速率限制。 API v2 已被弃用,但没有停止支持它的时间表。 所有新的集成都应该首选 v3。 API v3 身份验证是通过带有不记名令牌的身份验证标头完成的。
营销活动
我们提供的另一个功能是强大的营销活动平台,可让您管理列表、创建动态细分、上传资产、使用可视化编辑器设计电子邮件模板、执行自动 A/B 测试等。 当然,所有这些功能背后也有一个开放的 API。
一些常见问题解答
问:你们支持交易电子邮件的模板吗?
答:是的——而且它们是动态的! SendGrid 的事务模板具有对 Handlebars 语法的本机支持。 除了基本的替换和替换之外,您还可以使用枚举/迭代列表,利用条件等。 要了解更多信息,请点击这里。
问:是否有沙盒或方法可以在不发送电子邮件的情况下测试我的电子邮件?
答:通过 HTTP 发送时,您可以启用沙盒模式。 还有一个“接收器”地址可用于测试。
问:是否可以将我的 IP 地址/发件人信誉转移到 SendGrid?
答:我们无法迁移 IP 或声誉,但我们可以帮助您自动为您预热新 IP。
问:SendGrid 是否支持强制 TLS ?
答:当然。 您可以要求接收服务器支持 TLS 并将消息丢弃到不符合要求的服务器。
问:我可以让我的收件人定义他们想要接收的电子邮件类型吗?
答:是的。 让您的收件人更好地控制他们的电子邮件可以让您发送人们想要的电子邮件,这对每个人都有好处。 查看退订群组以获取更多信息。
如果您有兴趣迁移到 SendGrid,可以在 sendgrid.com/pricing 找到更多信息。