2009-08-06 40 views
1

RFC1893聲明狀態碼將以下面的格式顯示,您可以閱讀更多here如何準確解析smtp消息狀態碼(DSN)?

但是我們的反彈管理系統很難從反彈消息中解析錯誤狀態代碼。我們可以得到原始信息,但取決於電子郵件服務器,代碼將出現在不同的地方。有沒有關於如何解析這種類型的消息以獲得更好的結果的規則。我們不是在尋找100%的解決方案,但至少有80%。

本文檔定義了一組新的狀態代碼來報告郵件系統 的條件。這些狀態代碼旨在用於媒體和與語言無關的狀態報告。它們不適用於 系統特定的診斷。

新的狀態碼 的語法定義爲:

 status-code = class "." subject "." detail 
     class = "2"/"4"/"5" 
     subject = 1*3digit 
     detail = 1*3digit 

空白字符和評論 不是一個狀態 -
代碼內允許的。 中的每個數字子代碼必須表示爲
而不包含前導零位。

從RFC以上報價講述一兩件事,但隨後從反彈管理領先的工具,下面文中說不同的東西,在那裏我能得到的標準狀態碼的良好來源:

返回代碼說明
0待定 - (即收件人回覆)
10 HARD BOUNCE - (即用戶未知)
20 SOFT BOUNCE - 通用
21 SOFT BOUNCE - DNS故障
22 SOFT BOUNCE - 郵箱已滿
23 SOFT BOUNCE - 信息太大
30 BOUNCE - 無電子郵件地址。很稀少!
40整體跳出
50郵件塊 - 一般
51郵件塊 - 已知垃圾郵件發送者
52郵件塊 - 垃圾郵件檢測
53郵件塊 - 附件檢測
54郵件塊 - 繼電器拒絕
60自動回覆 - (即,外出)
70暫態BOUNCE
80 SUBSCRIBE請求
90 UNSUBSCRIBE /刪除請求
100詢問 - 響應

+0

「領先工具」的狀態代碼是他們的「通訊」管理系統自己的專有代碼。 DSN沒有提到有關訂閱或垃圾郵件。看看https://tools.ietf.org/html/rfc3463 – MattBianco 2015-02-19 14:23:17

回答

2

我不確定這是一個完整的答案,但this algorithm for detecting bounces可能會有用。

+0

這對Steven非常有幫助。您是否將這個項目用於您的任何開發項目? – Geo 2009-08-06 14:25:50

+0

不能說我有,但它看起來好像解決了你正在處理的同樣的問題。我不知道你的開發環境,所以我也不能說你是否應該考慮使用該項目,或者將regexp算法適應你的需要。但任何工作示例都必須比干燥的RFC更好。 – 2009-08-06 16:08:22

+0

您的鏈接已死亡。 – 2016-04-25 17:23:19