如何從 Mailgun 遷移到 SendGrid

已發表: 2018-11-10

如果 Mailgun 是您當前的電子郵件服務提供商,並且您希望進行更改,那麼此操作指南將通過突出顯示兩種服務之間的差異來幫助您遷移到 SendGrid。

如果您想在開始之前四處看看,在深入了解 API 參考和詳細信息之前,請查看包含大量資源的 SendGrid 文檔。

術語

如果您正在尋找與某些 Mailgun 功能等效的 SendGrid,下表將有所幫助:

SendGrid 術語Mailgun 術語
替換/部分替代數據
類別標籤
獨特的參數X-Mailgun-變量
多個憑證多用戶訪問
子用戶Mailgun 不提供離散的子用戶。
壓制壓制
X-SMTPAPI Mailgun 為每個配置選項使用離散的 X-Header,例如 X-Mailgun-Recipient-Variables
入站解析 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 發送的附件的處理方式與 Mailgun 不同。 Mailgun 需要包含要附加的文件的 multipart/form-data POST。 使用 SendGrid,內容被編碼為 Base64 並與 MIME 信息一起直接嵌入 JSON 有效負載中,將您的整個消息保持在相同的有效負載中並簡化您的 HTTP 請求。 您可以在我們的文檔教室的以下部分閱讀有關包含附件的更多信息。

網絡掛鉤

SendGrid 提供了兩個 webhook:用於發布實時事件的 Event Webhook,以及用於接收電子郵件並以編程方式響應它們的 Inbound Parse Webhook。 數據形狀和有效負載與 Mailgun 提供的有點不同。 我們目前也不支持將入站消息路由到不同的回調 URL; 您需要在代碼中而不是在 API 級別處理這種邏輯。

非電子郵件 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 找到更多信息。