如何使用POP3从Gmail获取未读/新邮件?

Ash*_*son 3 c# email gmail pop3

使用OpenPOP .net客户端从Gmail获取邮件.

我想知道如何才能获得新消息?

目前,我获取原子提要,然后获得与Feed一起使用OpenPOP客户端的电子邮件数量(从第一个开始).

    GmailAtomFeed feed = new GmailAtomFeed("user", "pass");
    feed.GetFeed();

    int unread = feed.FeedEntries.Count;

    POPClient client = new POPClient("pop.gmail.com", 995, "user", "pass", AuthenticationMethod.USERPASS, true);



    for (int i = 0; i < unread; i++)
    {
        Message m = client.GetMessage(i, false);

        // ...
    }
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

如何设置要读取的未读消息?

ser*_*nko 5

我怀疑你能用pop3做到这一点.根据我的理解,POP3不支持未读/看不见的电子邮件的概念.应该由客户端跟踪已经向用户显示的消息以及未显示的消息.

你可以做的是切换到使用IMAP协议来访问Gmail.查看此链接,了解如何为您的Gmail帐户启用它.开始使用IMAP for Gmail.

现在,如果您正在使用c#,那么有一些商业库可用于IMAP,并且有免费\开源的:像codeproject上的这个:使用C#的IMAP客户端库.要获取看不见的消息,您需要做的是为select命令指定"unseen"标志.这是一个例子