【发布时间】:2021-05-26 16:15:31
【问题描述】:
我正在尝试阅读来自 gmail 的接收电子邮件,我做到了。 如果电子邮件一一收到,它会完美运行。但如果电子邮件同时收到三或四封,我至少会错过其中两封。 我希望正确描述我的问题。 这是我的阅读代码;
private void StartReceiving()
{
Task.Run(() =>
{
using (ImapClient client = new ImapClient("imap.gmail.com", 993, txtEmail.Text, txtSifre.Text, AuthMethod.Login, true))
{
if (client.Supports("IDLE") == false)
{
MessageBox.Show("server crash");
return;
}
client.NewMessage += new EventHandler<IdleMessageEventArgs>(OnNewMessage);
while (true) ;
}
});
}
static void OnNewMessage(object sender,IdleMessageEventArgs e)
{
//MessageBox.Show("mesaj geldi");
MailMessage m = e.Client.GetMessage(e.MessageUID, FetchOptions.Normal);
f.Invoke((MethodInvoker)delegate
{
f.txtGelen.AppendText("Body: " + m.Body + "\n");
});
}
我该怎么办?我在这方面有点新手,我必须同时阅读至少 4 封电子邮件。
【问题讨论】:
标签: c# gmail-imap