如何在 sendmail 中查看投遞狀態通知?

如何在 sendmail 中查看投遞狀態通知?

我正在使用腳本透過 sendmail 發送新聞通訊,因此,我想在郵件失敗時存取遞送狀態通知,是否有命令列出 DSN 的內容?

答案1

檢查你的郵件日誌。它應該顯示所有交付及其狀態。我預計大多數失敗都發生在發送時,這應該會導致退回郵件被發送到您伺服器上的發送地址。

您的郵件佇列可能包含許多被暫時拒絕的郵件。這適用於郵箱已滿、伺服器中斷和其他可以解決的情況。

退回郵件的寄件人為空,因此您可能想要將退回郵件過濾到進程而不是郵件信箱。 (空的寄件者地址可防止退回郵件被退回。)然後它可以解析該郵件以驗證它是否為退回郵件,並記錄該地址的狀態。退回郵件可能是暫時的(郵箱已滿等),因此您應該相應地處理退回郵件

許多用戶會停用傳遞狀態通知,因此它們並不是訊息未傳遞的可靠指示。 DSN 響應是可靠的傳送指標。 DSN 回應將作為電子郵件傳送到傳送位址。我相信,就像退回郵件一樣,信封寄件者地址為空,以防止它們產生退回郵件。如果您使用程式處理郵件,則需要以不同於退回郵件的方式處理這些郵件。

最後,您應該得到三類電子郵件地址:

  • 已知會跳出的地址(跳出可能是永久的或暫時的);
  • 已知有效的位址(發送 DSN 訊息);和
  • 狀態未知的位址(既不退回也不發送 DSN)。

您應該主動刪除以永久狀態退回的地址。

相關內容