2011-01-26 215 views
1

我寫簡單的自己的pop3服務器。我使用thunderbird郵件客戶端進行測試。我有電子郵件目錄。郵件信息 - 1個帶有信息的文本文件。當我用雷鳥連接到我的服務器時,它會下載信件,如果我點擊獲取郵件,它會再次下載相同的郵件並將其標記爲新的。我如何向郵件客戶端解釋新的消息和已讀的消息?電子郵件閱讀/未讀郵件

謝謝。

+0

我不認爲這是可能的與POP。 – 2011-01-26 16:52:32

+0

您可能希望從服務器「DELE」消息或通過緩存其「UIDL」值跟蹤您已經看到的消息。 – dkarp 2011-01-26 17:25:45

回答

1

如果消息已被讀取,POP3沒有任何指定從服務器到客戶端的方式,是新消息還是有關消息的任何其他信息。爲此使用IMAP。

如果消息已被讀取(本地),POP3客戶端將本地記錄。

1

如果您的POP服務器支持the UIDL command(以及大多數服務器),則可以在POP客戶端中放置本地數據庫以跟蹤已下載郵件的持久UIDL值。在對POP服務器進行身份驗證後,問題UIDL。 UIDL已經在您的數據庫中的消息可以安全地忽略。對於數據庫中其UIDL 不是的任何消息,請發出RETR來獲取該消息,然後存儲其UIDL。

或者,發出DELE命令,通過RETR下載消息後刪除消息。