【发布时间】:2023-03-17 06:35:01
【问题描述】:
我正在为 gmail 编写 Pop3 客户端。问题是,当电子邮件被下载时,它会从 pop3 服务器中删除。我尝试向服务器发送 RSET 命令,但它不起作用。
我必须在断开连接之前还是在下载每封邮件之后发送 RSET?
【问题讨论】:
我正在为 gmail 编写 Pop3 客户端。问题是,当电子邮件被下载时,它会从 pop3 服务器中删除。我尝试向服务器发送 RSET 命令,但它不起作用。
我必须在断开连接之前还是在下载每封邮件之后发送 RSET?
【问题讨论】:
如果您发送/使用 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)
【讨论】:
Gmail 的 POP3 配置有时可能令人困惑。 在 Gmail 网络界面的“转发和 POP/IMAP”选项卡的“设置”中,您可以找到一个名为“当使用 POP 访问邮件时”的下拉列表。
这是值列表和 Gmail 的行为:
一个。 “删除 Gmail 的副本”: 通过发出 RETR 命令删除消息。
b. “将 Gmail 的副本保留在收件箱中”: 邮件保留在收件箱中, 网页界面显示未读,但消息未收到 第二次使用POP3客户端。
c。 “归档 Gmail 的副本”: 通过发出 RETR 命令删除消息,但是它是 可以使用网络界面找到它。
Gmail 只是忽略 DELE 命令,并且不遵循 POP3 标准。
【讨论】:
Google 不处理传统意义上的 POP3。一旦你下载了一封邮件,它就会被标记为已下载,POP3 会像它已被删除一样。但实际上他们在服务器上保留了邮件的副本。
【讨论】:
已经有一段时间了,但是在处理类似的问题时,我发现 TOP 命令没有在 GMail POP3 服务器中将邮件标记为已读。
因此,如果您没有完整阅读该消息,您一定可以稍后再阅读。
希望对你有帮助。
【讨论】:
由于 Gmail POP3 服务器不像普通的 POP3 服务器那样工作,它会自动隐藏旧邮件,即使邮件没有被 POP3 DELE 命令删除。
如果你想阅读Gmail邮箱中的所有邮件,你可以尝试实现或找一个IMAP4客户端。我可以使用 IMAP4 阅读 Gmail 邮箱中的所有电子邮件。
【讨论】: