如何從 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 找到更多信息。