Используйте пользовательское вычисляемое свойство:
isNotPizza: computed('controllers.application.currentRouteName', function () {
return 'pizza' !== this.get('controllers.application.currentRouteName');
}),
Вам необходимо обработать IMAP IDLE .
Это будет уведомлять вас при поступлении новых сообщений без постоянного опроса (что плохо).
Очень хорошая коммерческая библиотека .NET IMAP - это MailBee.Net . Некоторое время назад я использовал его для небольшого проекта, и он, казалось, очень хорошо справлялся, и с ним было довольно легко работать. Могут быть и другие - просто поищите в своей библиотеке отправку команды IDLE или обработку команды IDLE, и вы, вероятно, что-то найдете.
Mail.dll поддерживает IDLE. Вот упрощенный пример:
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();
}
Вы можете загрузить Mail.dll по адресу: http://www.lesnikowski.com/mail/
Также посетите мой блог, чтобы найти образцы .
Обратите внимание, что Mail.dll - это коммерческий продукт, который я создал.
@Queops
Вот отчеты двух онлайн-антивирусных сканеров:
Обратите внимание, что VirusTotal использует сканер Symantec.