我正在为POP3写作POP3客户端。问题是,当电子邮件被下载时,它会从pop3服务器中删除。我曾尝试发送RSET命令到服务器,但它不起作用。下载后删除POP3和Gmail邮件
我必须在断开连接之前或下载每封邮件之后发送RSET吗?
我正在为POP3写作POP3客户端。问题是,当电子邮件被下载时,它会从pop3服务器中删除。我曾尝试发送RSET命令到服务器,但它不起作用。下载后删除POP3和Gmail邮件
我必须在断开连接之前或下载每封邮件之后发送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)
谷歌不处理传统意义上的POP3。一旦你下载了一封邮件,那么它被标记为已下载,并且POP3将表现为已被删除。但实际上他们在服务器上保留了一份邮件副本。
Gmail的POP3配置可能有时令人困惑。 在“转发和POP/IMAP”选项卡上的“设置”中的Gmail Web界面中,可以找到一个名为的下拉列表“使用POP访问消息”。
这里的值列表和Gmail的行为:
一个。 “删除Gmail的副本”: 通过发出RETR命令删除消息。
b。 “将Gmail副本保留在收件箱中”: 消息留在收件箱中, Web界面说,这是未读,不过消息不使用POP3客户端第二次收到 。
c。 “存档Gmail的副本”: 通过发出RETR命令删除消息,但可以使用网络界面找到它,但是它的号码为 。
Gmail只是忽略了DELE命令,并没有遵循POP3标准。
已经有一段时间了,但是在类似的问题上,我发现TOP命令并没有将消息标记为在Gmail POP3服务器中读取。
所以,如果你没有完全阅读这条信息,你以后肯定会阅读它。
希望它有帮助。
由于Gmail POP3服务器不能像普通POP3服务器那样工作,即使电子邮件未被POP3 DELE命令删除,也会自动隐藏旧电子邮件。
如果您想阅读Gmail邮箱中的所有电子邮件,则可尝试实施或查找IMAP4客户端。我可以使用IMAP4读取Gmail邮箱中的所有电子邮件。
DEL是较新的发送到服务器,我发送退出命令之前的RSET,但下一次我检查POP3列表没有邮件。 – Woland 2010-07-13 08:00:43
我试过其他的pop3服务器,它似乎是谷歌的问题。 – Woland 2010-07-13 08:04:50