簡體   English   中英

Sendgrid 入站 Webhook - 未送達的通知

[英]Sendgrid Inbound Webhook - Undelivered notification

根據 sendgrid 文檔,入站解析器 webhook 響應失敗的方式是它將重試將 email 發布到配置的端點 3 天,如果未交付,將丟棄 email。

Parse API 會將解析后的 email 發布到您指定的 URL。 如果 POST 不成功,SendGrid 會自動排隊並重試任何以 5XX 狀態響應的 POST。 這可以防止錯誤配置其網站或 POST URL 的客戶丟失數據。

以 2xx 狀態響應 POST 請求以停止 email 重試。

為避免返回錯誤,您的鏈接必須在收到 email 時返回 2xx HTTP 代碼。 此響應讓我們的系統知道您的鏈接已收到 email。然后它會從我們的發送隊列中刪除。 如果我們沒有收到有效的 2xx HTTP 響應,我們的服務器將認為他們未能傳遞您的消息。 3 天后無法送達的消息將被丟棄。

我想知道在刪除未送達的電子郵件之前,sendgrid 是否會通知發件人他們的 email 無法送達?

根據我運行的一些測試,SendGrid 似乎永遠不會向發件人發送通知,也沒有任何簡單的方法來確定 SendGrid 是否丟棄了任何入站電子郵件。

雖然文檔措辭有點含糊,但我基於測試的理解(與文檔措辭一致)是這樣的:

  • 服務器返回 2xx: email 被視為已接受,不再嘗試。
  • 服務器返回 5xx:服務器有錯誤,嘗試直到返回 2xx(后續嘗試的時間見下文),或者 72 小時過去了
  • 服務器返回任何其他響應,或 DNS 記錄不存在: email 被視為失敗,不再進行進一步嘗試。

我的結論是基於我在一周內進行的一些測試,從中我確定了以下幾點:

Case 1. 解析服務器返回 400 或 403 錯誤
email 在一次嘗試后被丟棄。
不再嘗試 POST email。
不會向發件人或 SendGrid 帳戶發送任何通知。

(測試方法:將SendGrid配置為URL,返回上述錯誤碼之一。檢查了1周多的服務器日志,發現只嘗試了一次。)

案例2.parse hook URL沒有DNS記錄
email 被丟棄,大概是在一次嘗試之后。
不會向發件人或 SendGrid 帳戶發送任何通知。

(測試方法:將鈎子URL配置到沒有任何DNS記錄的子域。運行DNS搜索並嘗試打開鈎子URL以確認DNS記錄沒有指向任何地方。發送一個88388513701218小時后。子域的適當記錄以將其指向腳本。檢查服務器日志並確認沒有嘗試發布 email。隨后的 email 嘗試成功發布。)

案例 3. 解析服務器返回 500 錯誤
SendGrid 在以下時間間隔嘗試 POST 到掛鈎 URL:
+0 +5m +10m +15m +20m
+25m +35m +50m +1h20m +2h20m
...然后每 3 小時
最后一次嘗試發生在 +71h20m

20 分鍾的偏移量有點不尋常,但它正好在整點,所以可能是因為消息在整點排隊嘗試 POST。
72 小時后不再嘗試 POST email。
不會向發件人或 SendGrid 帳戶發送通知。

統計數據
文檔提到了統計數據的可用性,但是,我發現這些數字不准確。

例如,在我的測試過程中,我收到了從 go 到 API 的許多電子郵件,其中一些是為了成功(並且確實 POST 到我的服務器)和一些是為了失敗(作為上述測試的一部分),但是,返回的數字沒有對齊。

外賣
在以下情況下應格外小心:

  • 服務器停機時間:這最終取決於服務器的配置方式。 如果服務器返回 5xx 響應代碼,SendGrid 將繼續嘗試 POST email。我也嘗試測試超時情況,但是,SendGrid 似乎非常耐心(例如,我讓我的腳本暫停 10 分鍾,SendGrid 保持連接10 分鍾,但有趣的是,由於第二次嘗試發生在 5 分鍾后,email 發布了兩次)。
  • 服務器配置錯誤,返回 4xx 錯誤代碼。 SendGrid 將刪除 email。

還應注意,如果丟失了 email,似乎沒有任何可靠的方法可以查明這一點。

在刪除 email 之前,SendGrid 不會發送通知。 但是,只有在從您的 Webhook URL 收到錯誤並在三天內重試發布消息后,消息才會被丟棄。

我們從 Sendgrid 支持團隊得到確認,在入站 Webhook 解析器功能中丟棄的電子郵件將不會有任何通知或保存在 Sendgrid 中。 因此,我們將無法獲得有關丟棄的電子郵件的任何信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM