我正在爲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