2010-12-14 162 views
1

我可以對POP3郵箱進行編程訪問,還可以訪問存儲在數據庫中的存檔電子郵件。我客觀的找出壞的電子郵件地址 - 從其中返回電子郵件的電子郵件地址(反彈),狀態或如消息:在郵箱中查找「錯誤的電子郵件地址」

  • 無法投遞的郵件
  • 投遞狀態通知(失敗)
  • 未送達郵件退回發件地從人
  • 電子郵件,如郵件守護或郵政局長

是否有辦法可以過濾掉這樣的電子郵件,而不使用「啓發式」?它很容易掃描主題像「無法投遞」或發件人,如「郵件守護程序」,但我想要一個更好的解決方案,如果有的話。

請注意,我有機會獲得郵件頭的所有POP3 /數據庫歸檔的電子郵件。有一些我可以使用的標題嗎?

回答

1

某些郵件服務器實現RFC 3464。那些通常會通過消息頭Content-Type of multipart/report和三個組成部分(text/plain,message/delivery-status和message/rfc822)生成傳遞狀態通知。因此,您可以檢測到消息的這些特徵並據此進行處理。該消息一般是這樣的:

來源:「郵件傳遞系統」 < [email protected] >
主題:傳遞狀態通知(失敗)
內容類型:多部分/報告; report-type = delivery-status

Content-Type:text/plain
傳遞狀態通知的人類可讀說明。

內容類型:消息/傳遞狀態
傳遞狀態通知的結構化機器可讀原因。

內容類型:消息/ rfc822
原始消息。

對於在非結構化的格式生成傳遞狀態通知的郵件服務器,它可能仍然有必要通過分析從文來檢測他們的通知:和主題:郵件標題。