我编写简单的自己的pop3服务器。我使用thunderbird邮件客户端进行测试。我有设置邮件的目录。邮件消息 - 带消息的1个文本文件。当我使用thunderbird连接到我的服务器时,它会下载信件,如果我点击获取邮件,它会再次下载相同的邮件并将其标记为新的。如何向邮件客户端解释新邮件和已阅读的邮件?
谢谢。
答案 0 :(得分:1)
POP3没有任何方法在服务器之间指定是否已读取消息,是新消息还是有关消息的任何其他信息。使用IMAP进行此目的。
如果邮件已被(本地)读取,POP3客户端将在本地记录。
答案 1 :(得分:1)
如果您的POP服务器支持the UIDL command(大部分都支持),您可以将POP客户端中的本地数据库放在一起,以跟踪您已下载的邮件的持久UIDL值。在对POP服务器进行身份验证后,请发出UIDL
。可以安全地忽略UIDL已在数据库中的消息。对于数据库中UIDL 不是的任何邮件,请发出RETR
以获取邮件,然后存储其UIDL。
或者,发出DELE
命令,以便在通过RETR
下载邮件后删除邮件。