POP3协议中的消息ID

时间:2010-10-15 02:26:45

标签: pop3

我的任务是从GMail通过POP3(无IMAP)检索一组消息。 我可以做RETR MSG#,禁止删除。

Fetchmail和procmail一直在尝试下载同一组新的未读消息(这部分转到ServerFault)。是否有专门设计的标题来区分以前读取的消息?或者我应该对邮件正文/主题/日期进行校验和?

2 个答案:

答案 0 :(得分:4)

POP3协议不支持读/看类别的标志。有些服务器支持像X-Seen这样的非标准标头,它就像一个读取标志,你必须使用TOP来获取消息的标题并查看它是否已被设置(以确定是否已设置)它甚至在那里)。

应该由客户端来覆盖POP3中的读取标志,但好消息是你不需要做校验和,只需使用UIDL,它会给你一个非列表更改,收件箱中的消息的唯一ID,或者如果使用消息#调用,将为您提供邮箱中该位置的邮件的唯一ID(因为如果其他客户端正在访问,您无法保证邮箱中的邮件位置并且可能正在删除)。

答案 1 :(得分:-1)

尝试使用message-id

控制邮件
Message message ;
....
String messageId = message.getHeader("message-id")[0];