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 поддерживает режим ожидания, поэтому вы можете получать новые сообщения точно в срок. Как только новые сообщения поступают в текущую папку, они будут автоматически загружены и будет запущено событие.

Другие вопросы по тегам