重新获取POP3消息

时间:2012-05-10 20:01:18

标签: vb.net pop3

我正在使用Peter Huber's POP3 client连接到Gmail和下载邮件。

正在访问的收件箱是仅用于代码访问的事务收件箱。也就是说,附带订单文件的消息,代码将处理它然后删除消息。虽然代码的一个规定是DEBUG标志,如果设置它将阻止代码删除消息,以便您可以在没有调试标志的情况下再次运行程序并重新处理消息。所以,在我的代码中我有

If Not Arguments.Debug Then pop.DeleteEmail(eid)

这很好用。问题是,即使不删除消息,第二次运行程序也不会重新检索消息,即使我登录gmail并查看收件箱,它仍然存在。我可以让程序再次看到该消息的唯一方法是将消息转发回相同的收件箱。但是在Peter的代码中,我没有看到他在跟踪会话之间看到的消息的任何地方。

这是在gmail结束时完成的吗?拒绝第二次向同一客户发送消息?如果是这样,我有什么方法可以更改我的Gmail帐户,以便在检索邮件列表时始终将收件箱中的所有邮件显示给客户端,即使已经“看到”的邮件也是如此?我在gmail设置屏幕上看不到任何内容。

更新:我尝试添加一个方法,根据codeproject页面上的this comment向服务器发送RSET命令。然后我在检索邮件之后调用我的新Reset()方法,但在断开连接之前,...但我仍然遇到同样的问题。

1 个答案:

答案 0 :(得分:0)

好的......在阅读了codeproject项目的评论页面后,找到了一个“类型”的答案。

根据this comment,当您处理gmail的服务器时,RSET命令实际上没有做任何事情。

“回答”是使用字符串“recent:”添加您的用户名,因此您不必使用[ myaccount@gmail.com ]登录,而是使用[最近: myaccount@gmail.com ]。相当hackish,......但它确实有效。