OnNewMessagesArrived никогда не срабатывает
Это мой упрощенный код:
using ImapX;
private ImapClient Client { get; set; }
private void SetupListener(string mail, string password)
{
Client = new ImapClient();
Client.Connect("imap.gmx.net", 993, true);
// Client.IsConnected == true
Client.Login(mail, password);
// Client.IsAuthenticated == true
// Test 1
Client.Folders.Inbox.OnNewMessagesArrived += MessageArrived;
// Test 2
Client.OnNewMessagesArrived += MessageArrived;
}
private void MessageArrived(object sender, IdleEventArgs e)
{
MessageBox.Show("This never pops up!");
}
Это уже показывает мою проблему. MessageArrived
никогда не звонят. Я попробовал это с 2 различными поставщиками. Одна и та же проблема для обоих (t-online.de и gmx.net).
Есть идеи, что здесь происходит?
Документация не показывает ничего, кроме этого.
1 ответ
Решение
Пожалуйста, попробуйте позвонить Client.Folders.Inbox.StartIdling();
после подписки.
Это поможет вам получать сообщения в режиме реального времени.
Я ссылаюсь на документацию здесь
ImapX поддерживает режим ожидания, поэтому вы можете получать новые сообщения точно в срок. Как только новые сообщения поступают в текущую папку, они будут автоматически загружены и будет запущено событие.