2011-07-18 107 views
0

我想詢問有關處理反彈電子郵件(但沒有使用IMAP的服務器上,僅使用POP3,並且在我的計算機上沒有Outlook)。 我不想每次都從服務器讀取所有電子郵件。處理反彈電子郵件(只有POP3,沒有IMAP)

所以我想,起初: 1.閱讀電子郵件從最舊到最新,檢查是否有反彈。 2.保存最新的e-mail給變量「TempData的」 日期//這個過程將只執行一次,開始時

然後在計時器循環(在另一個線程): 3。閱讀電子郵件從「TEMPDATA」到最新的,檢查是否有反彈(檢查是否有一個主題「」未交付郵件返回發件人「」)。

我的想法的僞代碼:

TIMER(Tick every 5minutes) 
{ 
    (LOCK) 
    loop(on inbox from the "TEMPDATA" to the newest) 
    { 
     // Read single email 

     if (the subject is "Undelivered Mail Returned to Sender") 
     { 
      // Here I will parse message so that I will know the addresse 
      // And removie that addresse from my list. 
     } 
    } 
    (UNLOCK) 
} 

我只是好奇,如果有一些更好的解決方案。

回答

0
  1. 如果你打算使用IMAP協議,我寧願使用電子郵件UID不是日期。

  2. 僅檢查主題不是繁瑣的檢查方法,如果郵件是發送失敗報告。 有些電子郵件會有不同的主題(不同的語言)。 Gmail例如使用額外的標題。 然而,大多數傳送失敗電子郵件遵循RFC3464規範和使用傳送狀態通知(DSN)格式。

  3. 您可以嘗試使用Mail.dll component此:

http://www.lesnikowski.com/blog/index.php/bounce-handling/

請注意,這是我創建了一個商業產品。

+0

謝謝,但我正在尋找開源解決方案 – Marshall

0

我知道這是一個古老的問題,但它在搜索結果中顯示出很高的含義,所以這裏希望它可以幫助其他人。

我發現這個開源的解決方案:

https://mailsystem.codeplex.com/

似乎是我們到目前爲止運作良好。儘管Visual Studio智能感知非常詳細,但文檔幾乎不存在。

相關問題