Поиск уведомления IMAP в режиме реального времени о новых письмах

Я ищу способ контролировать почтовый ящик GMail для новых электронных писем. Тем не менее, я хочу избежать проверки каждые несколько минут, и я ищу какое-то уведомление в режиме реального времени. Я заметил, что Outlook (и другие клиенты, поддерживающие IMAP) мгновенно показывают, когда есть новая электронная почта, но, к сожалению, все библиотеки .NET IMAP, похоже, не имеют этой функции.

кто-нибудь знает библиотеку IMAP, которая имеет эту функциональность? Или есть другой способ быть немедленно уведомленным новое сообщение без кратковременного опроса?

3 ответов


вам нужно справиться IMAP IDLE.

Это уведомит вас, когда появятся новые сообщения, без постоянного опроса (что плохо).


очень хорошая, коммерческая библиотека .NET IMAP-этоMailBee.Net. Я использовал его для небольшого проекта некоторое время назад, и он, казалось, справлялся с вещами очень хорошо, и с ним было довольно легко работать. Могут быть и другие - просто найдите в своей библиотеке для отправки команды IDLE или обработки команды IDLE, и вы скорее всего, что-нибудь найду.


Почта.dll поддерживает холостой ход. Вот упрощенный пример:

using (Imap client = new Imap())
{
    client.ConnectSSL("imap.server.com");
    client.Login("user@server.com", "password");

    FolderStatus folderStatus = client.SelectInbox();
    Console.WriteLine("Total message count: {0}",
        folderStatus.MessageCount);

    while(true)
    {
        FolderStatus currentStatus = client.Idle();
        Console.WriteLine("Total message count: {0}",
                currentStatus.MessageCount);
        foreach(long uid in client.SearchFlag(Flag.Unseen))
        {
            IMail email = new MailBuilder().CreateFromEml(
                client.GetHeadersByUID(uid));
            Console.WriteLine(email.Subject);
        }
    }
    client.Close();
}

вы можете скачать почту.dll at:http://www.lesnikowski.com/mail/

обратите внимание:блог для образцов.

обратите внимание, что Почта.DLL-это коммерческий продукт, который я создал.

@Queops

вот отчеты от 2 Online antivirus сканеры:

www.viruschief.com

www.virustotal.com

обратите внимание, что VirusTotal использует сканер Symantec.


попробуйте бесплатную библиотеку .NET для доступа к IMAP server S22.Imap, С поддержкой холостого хода