1

我正在为 gmail 编写 Pop3 客户端。问题是,当电子邮件被下载时,它会从 pop3 服务器中删除。我尝试将 RSET 命令发送到服务器,但它不起作用。

我必须在断开连接之前或下载每封邮件之后发送 RSET 吗?

4

5 回答 5

1

如果您发送/使用 DELE 命令,它应该只删除消息。由于您是自己编写的.. 只需不要使用 DELE 命令: http: //www.faqs.org/rfcs/rfc1939.html

RSET 命令也应该可以工作,参见 RFC 链接:

RSET

     Arguments: none

     Restrictions:
         may only be given in the TRANSACTION state

     Discussion:
         If any messages have been marked as deleted by the POP3
         server, they are unmarked.  The POP3 server then replies

         with a positive response.

     Possible Responses:
         +OK

     Examples:
         C: RSET
         S: +OK maildrop has 2 messages (320 octets)

于 2010-07-13T07:48:11.450 回答
1

Gmail 的 POP3 配置有时可能令人困惑。在 Gmail 网络界面的“转发和 POP/IMAP”选项卡的“设置”中,您可以找到一个名为“当使用 POP 访问邮件时”的下拉列表。

这是值列表和Gmail 的行为

一个。 “删除 Gmail 的副本”:通过发出 RETR 命令删除邮件。

湾。 “将 Gmail 的副本保留在收件箱中”:邮件留在收件箱中,Web 界面显示未读,但使用 POP3 客户端第二次收不到邮件。

C。 “存档 Gmail 的副本”:通过发出 RETR 命令删除邮件,但是可以使用 Web 界面找到它。

Gmail 只是忽略 DELE 命令,并且不遵循 POP3 标准。

于 2010-09-04T12:18:30.393 回答
0

由于 Gmail POP3 服务器不像普通的 POP3 服务器那样工作,它会自动隐藏旧邮件,即使邮件没有被 POP3 DELE 命令删除。

如果你想阅读Gmail邮箱中的所有邮件,你可以尝试实现或找一个IMAP4客户端。我可以使用 IMAP4 阅读 Gmail 邮箱中的所有电子邮件。

于 2013-07-11T09:22:25.963 回答
0

已经有一段时间了,但是在处理类似的问题时,我发现 TOP 命令没有在 GMail POP3 服务器中将邮件标记为已读。

因此,如果您没有完整阅读该消息,您肯定可以稍后再阅读。

希望能帮助到你。

于 2010-12-17T23:34:12.487 回答
0

Google 不处理传统意义上的 POP3。一旦你下载了一封邮件,它就会被标记为已下载,POP3 会像它已被删除一样。但实际上他们在服务器上保留了邮件的副本。

于 2010-07-26T09:31:46.553 回答