Tag Archives: mail

accessing imap

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!