如何從 Mailchimp 事務 API 遷移到 SendGrid
已發表: 2016-02-262016 年,Mandrill(現稱為 Mailchimp Transactional API)成為 Mailchimp 的獨家附加服務。 這意味著只有 Mailchimp 月度會員才能訪問 Mandrill 的電子郵件交易功能。 對於其他用戶,他們必須要么選擇另一個平台,要么選擇為他們並不總是需要的 Mailchimp 帳戶付費。
我們當時了解到,許多客戶會尋找可以有效發送電子郵件的替代提供商。 Twilio SendGrid 希望幫助使該過程盡可能順利。
從 Mailchimp 事務 API 遷移到 SendGrid
作為嚴格的附加組件,Mailchimp Transactional API 未設置為以您業務所需的規模可靠地發送電子郵件。 但在 Twilio SendGrid,我們是可靠、安全的電子郵件遞送領域的領導者,每月為我們的主要發件人處理超過 1000 億封電子郵件,包括 Uber、Airbnb 和 Spotify。
在本教程中,我們將介紹使用 Twilio SendGrid 發送電子郵件時可以預期的主要優勢。 我們的分步遷移指南將確保順利和簡化過渡。
對於那些尋找所有 SMTP、API 和電子郵件相關查詢的答案的人來說, Twilio SendGrid 文檔是最佳資源。 在深入了解移動郵件和進行 API 調用的更具體細節之前,這是一個很好的起點。
但首先,如果您正在尋找與某些 Mailchimp Transactional API 功能等效的 Twilio SendGrid,下表可以提供幫助:
SendGrid 術語 | Mailchimp 事務 API 術語 |
換人 | 合併變量 |
類別 | 標籤 |
自定義參數 | 元數據 |
子用戶 | 子帳戶 |
壓制 | 拒絕 |
X-SMTPAPI | X-MC-* |
動態模板 | 模板 |
獲取 API 密鑰
首先,您需要一個 Twilio SendGrid 帳戶。 然後,您需要創建一個用於發送的 API 密鑰。 如果您已登錄您的帳戶,請轉到設置 → API 密鑰或使用此鏈接。 為每個不同的應用程序使用不同的 API 密鑰是一種明智的安全做法。 您還可以通過啟用或禁用單個端點的讀取或寫入訪問權限來定義 API 密鑰的權限。 目前,您只需要一個對 Mail Send 具有完全訪問權限的人。 (注意:您必須先通過配置,然後才能創建 API 密鑰。)
API 庫
我們有許多官方支持的 API 庫,可進一步優化電子郵件發送過程。 如果您在遷移過程中要重寫任何代碼或重構與電子郵件服務提供商 (ESP) 的通信方式,那麼現在是利用以下庫之一來加速集成的好時機:
- sendgrid-csharp – 官方 C# 庫
- sendgrid-go – Go 官方庫
- sendgrid-java – 官方 Java 庫
- sendgrid-nodejs – 官方 Node.js 庫
- sendgrid-perl – Perl 官方庫
- sendgrid-php – 官方 PHP 庫
- sendgrid-python – 官方 Python 庫
- sendgrid-ruby – Ruby 官方庫
- ti.sendgrid – 官方 Titanium 包裝器
SMTP
如果您不使用我們的庫之一併通過簡單郵件傳輸協議或 SMTP 發送,那麼您應該知道一些差異。 要在通過 SMTP 發送時進行身份驗證,請提供字符串“apikey”作為 SMTP 用戶名,並使用您的 API 密鑰作為密碼。 然後,將您的主機名指向 smtp.sendgrid.net。
您可以在端口 25、2525 和 587 上通過未加密或 TLS 使用 SMTP 進行連接。或者,您也可以通過端口 465 上的 SSL 進行連接。通常,我們建議使用端口 587,因為它往往會導致與託管服務提供商的問題最少.
自定義通過 SMTP 發送的電子郵件的機制是我們的X-SMTPAPI標頭。 此標頭將允許您定義替換、發送批量郵件合併樣式請求以及控制對您的發送有效的過濾器(如點擊跟踪)。
HTTP
發送電子郵件的主要端點是mail.send端點。 您可以通過授權標頭驗證對此端點的請求,並將您的 API 密鑰顯示為不記名令牌。 在我們的文檔中找到更詳細的示例。
個性化允許您為每條消息定義收件人和元數據,例如用於自定義內容的替換值或用於將消息與用戶 ID 或訂單號相關聯的 custom_args。 有幾個常見用例的個性化示例。 您還可以找到cURL 示例調用。
可以通過tracking_settings 和 mail_settings 參數配置點擊跟踪等功能。
對於通過 HTTP 發送的附件,以類似於 Mailchimp Transactional API 的方式處理它們,其中內容被編碼為 Base64 並與多用途 Internet 郵件擴展或 MIME 信息一起直接嵌入 JSON 有效負載中,如下所示。
請注意,Twilio SendGrid 的 mail.send 端點是完全異步的。 我們將接受該請求(只要格式正確)並嘗試盡快處理其郵件遞送。 Mailchimp Transactional API 允許同步執行少於 10 封電子郵件的請求。 但是,Twilio SendGrid 不提供同步模式。
您還可以使用“send_at”參數最多提前 72 小時安排發送。
網絡掛鉤
Twilio SendGrid 提供了兩個 webhook:用於發布實時事件的Event Webhook和用於接收電子郵件並以編程方式響應它們的Inbound Email Parse Webhook 。 數據形狀和有效負載與 Mailchimp Transactional API 提供的有點不同 - Twilio SendGrid 沒有與“同步”網絡掛鉤的等效項。
非電子郵件 API 端點
對於不發送電子郵件的 API 端點,請查看API v3 概述。 在大多數情況下,我們使用直觀的 HTTP 方法和響應代碼,並對調用實施速率限制。 儘管沒有停止支持它的時間表,API v2 仍然最低限度地可用。 然而,所有新的集成都應該傾向於 v3。 API v3 身份驗證可通過帶有 Bearer token 的身份驗證標頭訪問。
遷移到 Twilio SendGrid 常見問題解答
問:你們支持交易電子郵件的模板嗎?
答:是的——而且模板是動態的! Twilio SendGrid 的事務模板具有對 Handlebars 語法的本機支持。 除了基本的替換和替換之外,您還可以使用枚舉/迭代列表、利用條件等。 要了解有關我們模板的更多信息,請單擊此處。
問:我是否可以在不發送電子郵件的情況下測試我的電子郵件?
答:通過 HTTP 發送電子郵件時,您可以啟用沙盒模式。 還有一個“接收器”地址可用於測試目的。
問:是否可以將我的 IP 地址/發件人信譽轉移到 Twilio SendGrid?
答:我們無法遷移 IP 或聲譽,但可以幫助您自動為您預熱新 IP 。
問:Twilio SendGrid 是否支持強制 TLS?
答:當然。 我們的接收服務器支持 TLS 並丟棄不符合要求的傳出消息。
問:我可以讓我的收件人定義他們想要接收的電子郵件類型嗎?
答:是的! 給予收件人更多控制權可以讓您將電子郵件發送給真正需要它們的訂閱者,從長遠來看,這對每個人都更好。 查看我們的退訂群組了解更多信息。
問:您可以根據請求向多個收件人發送電子郵件嗎?
答:是的。 使用個性化的 API v3 客戶每個請求最多可以包含 1,000 個收件人。 SMTP 用戶每封郵件最多可以包含 10,000 個收件人,但我們通常建議您在每個請求中使用 1,000 個收件人。
了解有關從 Mailchimp Transactional API 切換到 Twilio SendGrid 的更多信息