Где поддержка IMAP в .NET Framework? - PullRequest
2 голосов
/ 05 октября 2009

Год назад у Митчела Селлерса был связанный вопрос ...

Я хотел бы получить доступ к Google IMAP для отправки и получения сообщений электронной почты в моем пользовательском приложении.

Дело в том, что я не хотел бы использовать какие-либо сторонние элементы управления.

Более новые версии .Net Framework поддерживают IMAP? Какие варианты у меня есть?

Ответы [ 3 ]

1 голос
/ 05 октября 2009

Раньше были Indy компоненты для Borland Delphi, которые были портированы на C # и .NET.

Насколько я знаю, для этого нет встроенной поддержки.

0 голосов
/ 30 января 2010

В текущих версиях .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 , который работает на таком же движке, как и этот сайт.

0 голосов
/ 06 октября 2009

.NET Framework не поддерживает IMAP. Вам нужно будет использовать какой-нибудь сторонний компонент.

Попробуйте Почтовый компонент 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/.

...