accessing imap mailboxes is super easy with javax.mail…
final Properties props = new Properties();
props.setProperty(“mail.store.protocol”, IMAP_PROTOCOL);
final Session session = Session.getInstance(props);final Store store = session.getStore(IMAP_PROTOCOL);
store.connect(server, user, password);final IMAPFolder imapFolder = (IMAPFolder) store.getFolder(“Inbox”);
imapFolder.open(Folder.READ_ONLY);final FlagTerm ft = this.getFlagTerm(new Flags(Flags.Flag.SEEN), false);
final Message[] messages = imapFolder.search(ft);for (int i = 0; i < messages.length; i++) {
final long imapUid = imapFolder.getUID(messages[i]);
final MimeMessage message = new MimeMessage((MimeMessage) messages[i]);
}
easy… main problem is, that the MimeMessage is directly linked to the imap Folder… so if you return the MimeMessages and close the imapFolder… accessing the MimeMessage dont work… 🙁
Solution? CopyConstructor
MimeMessage copyedMessage = new MimeMessage(message);
nuff said!