/** * Open this folder in the given mode. */ @Override public synchronized void open(int mode) throws MessagingException { open(mode, null); }
/** * Open this folder in the given mode. */ public synchronized void open(int mode) throws MessagingException { open(mode, null); }
/** * Open this folder in the given mode. */ @Override public synchronized void open(int mode) throws MessagingException { open(mode, null); }
/** * Open this folder in the given mode. */ @Override public synchronized void open(int mode) throws MessagingException { open(mode, null); }
/** * Open this folder in the given mode. */ @Override public synchronized void open(int mode) throws MessagingException { open(mode, null); }
/** * Open this folder in the given mode. */ @Override public synchronized void open(int mode) throws MessagingException { open(mode, null); }
public IMAPFolder openFolder(String folderName, int mode) throws MessagingException, FolderNotFoundException { IMAPFolder folder = (IMAPFolder)imapStore.getFolder(folderName); folder.open(mode); return folder; }
... IMAPFolder fInbox = store.getFolder("INBOX"); fInbox.open(Folder.READ_WRITE); SearchTerm searchTerm = <some searchTerm> Message[] messages = fInbox.search(searchTerm); fInbox.setFlags(messages, new Flags(Flags.Flag.SEEN), true); ...
public static void IMAPFolder_open(IMAPFolder folder, int mode) throws MessagingException { if (!Profiler.INSTANCE.isActive()) // only needed for better performance folder.open(mode); else profileInvokeMExcep(folder, "open", mode); }
IMAPFolder f = (IMAPFolder) store.getFolder(folderName); if (f.isOpen() == false) { f.open(Folder.READ_ONLY);
IMAPFolder folder = (IMAPFolder) store.getFolder("[Gmail]/All Mail"); FetchProfile fp = new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE); fp.add(IMAPFolder.FetchProfileItem.X_GM_THRID); fp.add(IMAPFolder.FetchProfileItem.X_GM_MSGID); if (folder != null) { folder.open(Folder.READ_ONLY); folder.fetch(folder.getMessages(), fp); GmailMessageIDTerm messageID_term = new GmailMessageIDTerm(Long.parseLong(msgId, 16)+""); com.google.code.javax.mail.Message[] messageID_Meassages = folder.search(messageID_term); if(messageID_Meassages.length > 0){ IMAPMessage main_Meassage = (IMAPMessage)messageID_Meassages[0]; GmailThreadIDTerm thread_term = new GmailThreadIDTerm(main_Meassage.getGoogleMessageId() + ""); com.google.code.javax.mail.Message[] thread_Messages = folder.search(thread_term); for(com.google.code.javax.mail.Message m: thread_Messages){ IMAPMessage imapMessage = (IMAPMessage)m; // here is your every message of current thread } } }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) protected List getAttachments(ReplyMessage action) throws MessagingException, ActionException { List<?> items = new ArrayList(); IMAPStore store = cache.get(getUser()); IMAPFolder folder = (IMAPFolder) store.getFolder(action.getFolder().getFullName()); if (folder.isOpen() == false) { folder.open(Folder.READ_ONLY); } // Only original inline images have to be added to the list Message msg = folder.getMessageByUID(action.getReplyMessageUid()); try { items = MessageUtils.extractInlineImages(logger, msg.getContent()); if (items.size() > 0) logger.debug("Replying a message, extracted: " + items.size() + " inline image from"); } catch (IOException e) { e.printStackTrace(); } // Put into the list the attachments uploaded by the user items.addAll(super.getAttachments(action)); return items; }
@Override @SuppressWarnings({ "rawtypes", "unchecked" }) protected List getAttachments(ForwardMessage action) throws MessagingException, ActionException { List<?> items = new ArrayList(); IMAPStore store = cache.get(getUser()); IMAPFolder folder = (IMAPFolder) store.getFolder(action.getFolder().getFullName()); if (folder.isOpen() == false) { folder.open(Folder.READ_ONLY); } // Put the original attachments in the list Message msg = folder.getMessageByUID(action.getReplyMessageUid()); try { items = MessageUtils.extractMessageAttachments(logger, msg.getContent()); logger.debug("Forwarding a message, extracted: " + items.size() + " from original."); } catch (IOException e) { e.printStackTrace(); } // Put in the list the attachments uploaded by the user items.addAll(super.getAttachments(action)); return items; }
@Override protected Message[] getMessagesToDelete(DeleteMessageByUid action) throws ActionException { IMAPFolder folder = action.getFolder(); ArrayList<Long> uids = action.getMessageUids(); User user = getUser(); logger.info("Deleting messages with uids " + action.getMessageUids() + " for user " + user + " in folder " + action.getFolder()); try { IMAPStore store = cache.get(user); com.sun.mail.imap.IMAPFolder f = (com.sun.mail.imap.IMAPFolder) store .getFolder(folder.getFullName()); // check if the folder is open, if not open it "rw" if (f.isOpen() == false) { f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE); } // build up the list of messages to delete List<Message> messages = new ArrayList<Message>(); for (Long uid : uids) { messages.add(f.getMessageByUID(uid)); } Message[] mArray = messages.toArray(new Message[messages.size()]); return mArray; } catch (MessagingException e) { logger.error("Error while deleting messages with uids " + action.getMessageUids() + " for user " + user + " in folder" + action.getFolder(), e); throw new ActionException("Error while deleting messages", e); } }
protected Message[] getMessagesToDelete(DeleteAllMessages action) throws ActionException { User user = getUser(); try { logger.info("Delete all messages in folder " + action.getFolder() + " for user " + user); IMAPStore store =cache.get(user); IMAPFolder folder = (IMAPFolder) store.getFolder(action.getFolder().getFullName()); if (folder.isOpen() == false) { folder.open(Folder.READ_WRITE); } return folder.getMessages(); } catch (MessagingException e) { String errorMsg = "Error while deleting all messages in folder " + action.getFolder() + " for user " + user; logger.error(errorMsg, e); throw new ActionException(errorMsg); } }
@Override protected RawMessageResult executeInternal(RawMessage action, ExecutionContext context) throws ActionException { User user = getUser(); long uid = action.getUid(); org.apache.hupa.shared.data.IMAPFolder folder = action.getFolder(); try { IMAPStore store = cache.get(user); IMAPFolder f = (IMAPFolder) store.getFolder(folder.getFullName()); if (f.isOpen() == false) { f.open(Folder.READ_ONLY); } Message m = f.getMessageByUID(action.getUid()); ByteArrayOutputStream out = new ByteArrayOutputStream(); m.writeTo(out); if (f.isOpen()) { f.close(false); } return new RawMessageResult(out.toString()); } catch (Exception e) { logger.error("Unable to get raw content of msg for user " + user + " in folder " + folder + " with uid " + uid, e); throw new ActionException("Unable to et raw content of msg for user " + user + " in folder " + folder + " with uid " + uid); } }
folder.open(Folder.READ_WRITE);
protected GenericResult executeInternal(TagMessage action, ExecutionContext context) throws ActionException { User user = getUser(); ArrayList<Long> uids = action.getMessageUids(); Tag tag = action.getTag(); IMAPFolder folder = null; try { IMAPStore store = cache.get(user); folder = (IMAPFolder) store.getFolder(action.getFolder().getFullName()); if (folder.isOpen() == false) { folder.open(Folder.READ_WRITE); } for (Message m :folder.getMessagesByUID(copyUids(uids))) { m.getFlags().add(tag.toString()); } return new GenericResult(); } catch (MessagingException e) { logger.error("Error while tag messages " + uids.toString() + " for user " + user + " of folder" + action.getFolder(), e); throw new ActionException(e); } finally { try { folder.close(false); } catch (MessagingException e) { // ignore on close } } }
f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE);
protected MoveMessageResult executeInternal(MoveMessage action, ExecutionContext context) throws ActionException { User user = getUser(); try { IMAPStore store = cache.get(user); IMAPFolder folder = (IMAPFolder)store.getFolder(action.getOldFolder().getFullName()); if (folder.isOpen() == false) { folder.open(Folder.READ_WRITE); } Message m = folder.getMessageByUID(action.getMessageUid()); Message[] mArray = new Message[] {m}; folder.copyMessages(mArray, store.getFolder(action.getNewFolder().getFullName())); folder.setFlags(mArray, new Flags(Flags.Flag.DELETED), true); try { folder.expunge(mArray); folder.close(false); } catch (MessagingException e) { // prolly UID expunge is not supported folder.close(true); } return new MoveMessageResult(); } catch (MessagingException e) { logger.error("Error while moving message " + action.getMessageUid() + " from folder " + action.getOldFolder() + " to " + action.getNewFolder(),e); throw new ActionException(e); } }