2

一年前,Mitchel Sellers 有一个相关的问题……

我想访问 Google IMAP 以在我的自定义应用程序中发送和接收电子邮件。

关键是我不想使用任何第三方控件。

较新版本的 .Net Framework 支持 IMAP?我有什么选择?

4

3 回答 3

1

曾经有用于 Borland Delphi 的Indy 组件已被移植到 C#和 .NET。

据我所知,没有对此的本机支持。

于 2009-10-05T13:48:00.690 回答
1

IMAP 没有 .NET 框架支持。您需要使用一些第 3 方组件。

试试Mail.dll 电子邮件组件,它非常实惠且易于使用:

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/

于 2009-10-06T07:58:56.383 回答
-2

当前版本的 .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 论坛,该论坛在与本网站类似的引擎上运行。

于 2010-01-29T22:33:36.567 回答