Поиск уведомления 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 сканеры:
обратите внимание, что VirusTotal использует сканер Symantec.
попробуйте бесплатную библиотеку .NET для доступа к IMAP server S22.Imap, С поддержкой холостого хода