Dot-Net

.NET 組件訪問電子郵件收件箱的建議

  • September 9, 2016

我被要求用 C# 編寫一個 Windows 服務來定期監視電子郵件收件箱並將收到的任何消息的詳細資訊插入到數據庫表中。

我的直覺是通過 POP3 做到這一點,果然,Google搜尋“.NET POP3 組件”會產生無數(好的,146,000)結果。

以前有沒有人做過類似的事情,你能推荐一個不會破壞銀行的體面的組件(最多幾百美元)嗎?

使用 IMAP 而不是 POP3 會有什麼好處嗎?

使用 IMAP 協議,您可以訪問子文件夾,並設置消息狀態(可見/不可見),還可以使用IDLE功能進行即時通知。

Mail.dll包括支持SSL和強大的 MIME 解析器的POP3IMAPSMTP組件:

using(Imap imap = new Imap())
{
   imap.Connect("imap.server.com");    // or ConnectSSL for SSL
   imap.Login("user", "password");

   imap.SelectInbox();
   List<long> uids = imap.Search(Flag.Unseen);
   foreach (long uid in uids)
   {
       IMail mail = new MailBuilder()
           .CreateFromEml(imap.GetMessageByUID(uid));
       Console.WriteLine(mail.Subject);
   }
   imap.Close();
}

請注意,這是我創建的商業產品。

您可以在https://www.limlabs.com/mail下載它

我在我的應用程序 BugTracker.NET 中使用免費和開源的 SharpMimeTools。它非常可靠:

<http://anmar.eu.org/projects/sharpmimetools/>

請參閱文件 POP3Client.cs、POP3Main.cs 和 insert_bug.aspx

引用自:https://stackoverflow.com/questions/18006