一年前Mitchel Sellers有一個related的問題....NET Framework中的IMAP支持在哪裏?
我想訪問谷歌IMAP發送和接收我的自定義應用程序中的電子郵件。
問題是我不想使用任何第三方控件。
.Net Framework的較新版本支持IMAP?我有什麼選擇?
一年前Mitchel Sellers有一個related的問題....NET Framework中的IMAP支持在哪裏?
我想訪問谷歌IMAP發送和接收我的自定義應用程序中的電子郵件。
問題是我不想使用任何第三方控件。
.Net Framework的較新版本支持IMAP?我有什麼選擇?
Borland Delphi的Indy components曾經是ported to C#和.NET。據我所知,沒有對此的本機支持。
沒有.NET框架支持IMAP。你需要使用一些第三方組件。
嘗試Mail.dll email component,這是非常經濟實惠,易於使用:
using(Imap imap = new Imap())
{
imap.Connect("imapServer");
imap.Login("user", "password");
imap.SelectInbox();
List<long> uids = imap.SearchFlag(Flag.Unseen);
foreach (long uid in uids)
{
string eml = imap.GetMessageByUID(uid);
IMail message = new MailBuilder()
.CreateFromEml(eml);
Console.WriteLine(message.Subject);
Console.WriteLine(message.TextDataString);
}
imap.Close(true);
}
您可以在這裏下載:http://www.lesnikowski.com/mail/。
我已經切換到Ubuntu以備將來的發展。有沒有辦法讓這個庫在Linux上與C#Mono一起工作或使用Vala編程語言? – 2014-07-13 23:44:04
在當前版本的.NET中沒有IMAP支持,我還沒有聽說過有任何計劃將這種支持添加到框架中。您必須嘗試第三方組件之一。
您可以查看我們的Rebex Secure Mail。
下面的代碼演示如何從Inbox
文件夾下載郵件:
// create client, connect and log in
Imap client = new Imap();
client.Connect("imap.example.org");
client.Login("username", "password");
// select folder
client.SelectFolder("Inbox");
// get message list
ImapMessageCollection list = client.GetMessageList(ImapListFields.Fast);
if (list.Count == 0)
{
Console.WriteLine("There are no messages in the mailbox.");
}
else
{
// download the first message
MailMessage message = client.GetMailMessage(list[0].SequenceNumber);
...
}
試用可以從www.rebex.net/secure-mail.net/
下載,您還可以享受Rebex Q&A forum運行在類似引擎這個網站。
和這裏http://stackoverflow.com/questions/670183/accessing-imap-in-c和這裏http://stackoverflow.com/questions/545724/using-c-net-librarires-to-check- for-imap-messages-from-gmail-servers,但仍然是相同的答案 – Will 2009-10-05 13:42:12
@Will還有萬維網,因爲SO – OrElse 2009-10-05 13:47:51