OnNewMessagesArrived永远不会被触发

时间:2017-08-29 12:33:25

标签: c# winforms imap subscribe imapx

这是我的简化代码:

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永远不会被召唤。 我尝试了两个不同的提供商。 (t-online.de和gmx.net)同样存在问题。

有什么想法在这里发生吗? documentation并未显示任何其他内容。

1 个答案:

答案 0 :(得分:1)

请在订阅后尝试拨打Client.Folders.Inbox.StartIdling();

这将帮助您实时接收消息。

我参考文档here

  

ImapX支持空闲,因此您可以及时接收新消息。一旦新邮件到达当前文件夹,它们将自动下载并触发事件。