/** * Retrieves headers of new messages. * * @return a string array containing the message headers */ public String[] getNewMessageHeaders() throws Exception { logger.info("[Inbound:MailServerFolder] Calling getNewMessageHeaders"); reopen(); // Make sure the folder is open // // Deliver only new messages to the MDB // try { if (folder.hasNewMessages()) { int newMsgs = folder.getNewMessageCount(); int msgCount = folder.getMessageCount(); Message[] msgs = folder.getMessages(msgCount - newMsgs + 1, msgCount); String[] headers = new String[msgs.length]; logger.log(Level.INFO, "messages length: {0}", msgs.length); logger.log(Level.INFO, "headers length: {0}", headers.length); for (int i = 0; i < headers.length; i++) { logger.log( Level.INFO, "[Inbound:MailServerFolder] Packing message with SUBJECT: {0}", msgs[i].getSubject()); headers[i] = msgs[i].getSubject(); } return headers; } } catch (Exception e) { logger.severe("[Inbound:MailServerFolder] Exception obtaining messages from mail server:"); } return null; }
public boolean hasNewMessages() throws Exception { logger.info("[Inbound:MailServerFolder] Calling hasNewMessages"); reopen(); // Make sure the folder is open /** * ** logger.info("Folder <" + folder.getName() + "> has (" + folder.getUnreadMessageCount() + * ") unread messages"); logger.info("Folder <" + folder.getName() + "> has (" + * folder.getNewMessageCount() + ") NEW messages"); ** */ return folder.hasNewMessages(); }
/** * Retrieves new messages. * * @return an array of messages */ public Message[] getNewMessages() throws Exception { logger.info("[Inbound:MailServerFolder] Calling getNewMessages"); reopen(); // Make sure the folder is open // // Deliver only new messages to the MDB // try { if (folder.hasNewMessages()) { int newMsgs = folder.getNewMessageCount(); int msgCount = folder.getMessageCount(); Message msgs[] = folder.getMessages(msgCount - newMsgs + 1, msgCount); return msgs; } } catch (Exception e) { logger.info("[Inbound:MailServerFolder] Exception obtaining messages from mail server"); } return null; }