首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenPop删除消息

OpenPop删除消息
EN

Stack Overflow用户
提问于 2013-08-14 21:18:37
回答 1查看 2.7K关注 0票数 2

当我尝试删除一条消息时,它一次删除4条消息,尽管我明确表示不是这样,因为我有700条消息,所以我必须显示最多4条消息。

代码语言:javascript
复制
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
            {
            }
        }
    }

要删除的代码:

代码语言:javascript
复制
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();
    }

即使我这样做了

代码语言:javascript
复制
client.DeleteMessage(1)

它一次删除4个。此外,这些消息似乎是旧的,因为当我访问mail.google.com时,它们不会显示在第一页上。有什么方法可以区分垃圾邮件和消息吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 21:36:16

Gmail有一些有趣的POP3实现。下载邮件后,下次将不再为您显示该邮件。所以你的问题很可能不是OpenPop删除了4条消息,而是你下载了4条消息,然后Gmail对你隐藏了这些消息。

请参阅What non-standard behaviour features does Gmail exhibit, when it is programmatically used as a POP3 server?

作为附注:下次你问问题时,请花一些时间来问它,清理它。例如,为什么要包含注释掉的代码?

第二个附注。下面的代码没有考虑到哪些消息被“标记”为应该删除。您不应该查找索引吗?如果用户选择了n项,您总是会删除第一个n项,但是如果他选择了n最后一项呢?

代码语言:javascript
复制
if (cbxInbox.CheckedItems.Count > 1)
{
    for (int i = 1; i <= cbxInbox.CheckedItems.Count; i++)
    {
        client.DeleteMessage(i + 1);
    }
}

希望能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18232849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档