OpenPop正在删除消息
本文关键字:消息 删除 OpenPop | 更新日期: 2023-09-27 18:27:35
当我尝试删除一条消息时,它一次删除4条,尽管我明确表示不这样做,因为我有大约700条消息,所以我必须显示最多4条。
public void inboxupdate()
{
client.Connect("pop.googlemail.com", 995, true);
if (client.Connected)
{
client.Authenticate(tbxEmail.Text, tbxPassword.Text, OpenPop.Pop3.AuthenticationMethod.UsernameAndPassword);
}
int MessageCount = client.GetMessageCount();
for (int i = 1; i <= 4; i++ )
{
try
{
cbxInbox.Items.Add(client.GetMessage(i).ToMailMessage().Subject, false);
}
catch
{
}
}
}
要删除的代码:
private void btnDelete_Click(object sender, EventArgs e)
{
if (cbxInbox.CheckedItems.Count > 1)
{
for (int i = 1; i <= cbxInbox.CheckedItems.Count; i++)
{
client.DeleteMessage(i + 1);
}
}
cbxInbox.Items.Clear();
client.Disconnect();
inboxupdate();
}
即使我做
client.DeleteMessage(1)
它一次删除4个。此外,这些消息似乎很旧,因为当我访问mail.google.com时,它们不会出现在第一页上有没有办法区分垃圾邮件和邮件?
Gmail有一些有趣的POP3实现。一旦您下载了一条消息,下次它将不会为您显示。因此,你的问题很可能不是OpenPop删除了4条消息,而是你下载了4条Gmail对你隐藏的消息。
请参阅当Gmail以编程方式用作POP3服务器时,它表现出哪些非标准行为功能?
顺便说一句:下次你问问题时,请花点时间问,把它清理干净。例如,为什么要包含注释掉的代码?
第二个旁注。以下代码不考虑哪些消息被"标记"为应删除。不应该查找索引吗?如果用户选择了n
项目,那么您总是会删除第一个n
项目,但如果他选择了最后一个n
项目呢?
if (cbxInbox.CheckedItems.Count > 1)
{
for (int i = 1; i <= cbxInbox.CheckedItems.Count; i++)
{
client.DeleteMessage(i + 1);
}
}
希望能有所帮助。