How do I uniquely identify a Java Mail Message using IMAP?

99封情书 提交于 2019-12-22 06:56:45

问题


IMAP Message in Java Mail is identified by it's relative position number which starts from 1.

refer, http://docs.oracle.com/javaee/1.4/api/javax/mail/Message.html#getMessageNumber()

Message number is a temporary details.

Is there a way to permanently uniquely identify a mail/message which accessing a mailbox via IMAP using Java Mail API which holds true across sessions ?


回答1:


Look at the UIDFolder interface, which exposes the IMAP UID capability.




回答2:


You can get a unique identifier for a message using the following code as an example

Folder folder = imapStore.getFolder("INBOX"); // get reference for inbox folder
UIDFolder uf = (UIDFolder)folder; // cast folder to UIDFolder interface
folder.open(Folder.READ_ONLY); // open folder
Message messages[] = folder.getMessages(); // get all messages
Long messageId = uf.getUID(messages[0]); // get message Id of first message in the inbox


来源:https://stackoverflow.com/questions/11435947/how-do-i-uniquely-identify-a-java-mail-message-using-imap

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!