【问题标题】:Re-getting POP3 messages重新获取 POP3 消息
【发布时间】:2012-05-11 04:29:35
【问题描述】:

我正在使用Peter Huber's POP3 client 连接到 gmail 并下载消息。

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

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

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

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

更新:我尝试添加一种方法来向服务器发送 RSET 命令,按照代码项目页面上的this comment。然后我在检索我的消息后但在断开连接之前调用我的新 Reset() 方法,......但我仍然遇到同样的问题。

【问题讨论】:

  • 我第一次读到这是“遗憾的 POP3 邮件”,然后我开始考虑所有我后悔发送的电子邮件
  • 哈哈——你不是第一个这么说的人。 B-) 希望连字符更清楚!

标签: vb.net pop3


【解决方案1】:

好的...在阅读 codeproject 项目的 cmets 页面后找到了“某种”答案。

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

“答案”是在您的用户名前加上字符串“recent:”,因此不要使用 [myaccount@gmail.com] 登录,而是使用 [recent: myaccount@gmail.com]。相当骇人听闻,......但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多