我需要一個基於服務器的組件定期訪問POP3電子郵件框和檢索電子郵件,Web應用程序。然後該服務需要處理,這將涉及到電子郵件:將POP3客戶端功能集成到C#應用程序中?
- 驗證電子郵件對一些業務規則(它包含在主題行中的有效參考,其中用戶發送郵件等)
- 分析並保存任何附件盤
- 以電子郵件正文和附件的詳細信息,並在數據庫中創建一個新的項目
- 或更新了基準傳入電子郵件主題行相匹配的現有項目
解決這個問題的最好方法是什麼?我真的不想從頭開始編寫POP3客戶端,但我需要能夠自定義電子郵件的處理。理想情況下,我將能夠插入一些組件,爲我進行訪問和檢索,返回附件,正文,主題行等準備好供我處理的數組...
[更新:評價]
OK,所以我花了很多時間相當尋找到(主要是免費).NET POP3庫,所以我想我會提供一些下面提到的那些簡短評論和其他幾個人:
- Pop3.net - 免費 - 工程確定,在所提供的功能方面非常基本的。這是非常簡單,只是在POP3命令和一些base64編碼,但它是非常簡單的 - 可能是一個很好的介紹
- Pop3 Wizard - 商業/一些開源代碼 - 無法獲得此建立,缺少的DLL,我不會費心這個
- C#Mail - 免費供個人使用 - 效果不錯,配備了啞劇解析器和SMTP客戶端,但是意見是日語(沒什麼大不了),並沒有使用SSL「開箱即用」 - 我不得不改變SslStream構造後,它的工作沒有問題
- OpenPOP - 免費 - 一直沒有更新約5年,所以它的當前狀態是.NET 1.0,不支持SSL但這是沒問題解決 - 我只是取代了存在g流與SslStream和它的工作。附帶Mime解析器。
免費的圖書館,我會去C#的郵件或OpenPOP。
我看了幾個商業圖書館:Chillkat, Rebex,RemObjects,JMail.net。基於功能,價格和對公司的印象,我可能會去Rebex的,可能在未來,如果我的需求發生變化或者我遇到任何與C#郵件或OpenPOP的生產問題。
如果任何人的需求吧,這是更換SslStream構造函數,我用來啓用SSL用C#郵件和OpenPOP:
SslStream stream = new SslStream(clientSocket.GetStream(), false,
delegate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors errors) { return true; });
感謝您的更新並提供您的研究細節。 – 2008-12-08 14:06:40
+1;有一個非常相似的要求。感謝您的研究。 – tsilb 2008-12-30 16:55:37
一個小小的評論:我已經測試了幾個提到的實現,並且必須使用來自http://anmar.eu.org/projects/sharpmimetools/files/daily/的最新日報才能正確解碼MIME。 c#Mail無法正確解碼非ascii,並且大多數其他人以utf8,q編碼或其他細節失敗。 – 2009-01-03 02:40:31