/** * Defines filter for {@link Header}. * * @param headerName The name of the {@link Header}. * @param pattern String pattern to use for headerName. * @return this */ public EmailFilter header(final String headerName, final String pattern) { final SearchTerm term = new HeaderTerm(headerName, pattern); concat(term); return this; }
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
public boolean match(Message message) { try { String values[] = message.getHeader(headerName); if (values != null) { for (int i = 0; i < values.length; i++) { String value = values[i]; if (match(value)) { return true; } } } return false; } catch (MessagingException e) { return false; } }
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
public boolean match(Message message) { try { String values[] = message.getHeader(headerName); if (values != null) { for (int i = 0; i < values.length; i++) { String value = values[i]; if (match(value)) { return true; } } } return false; } catch (MessagingException e) { return false; } }
/** * append IMAP search term information from a HeaderTerm item. * * @param term The source HeaderTerm * @param charset target charset for the search information (can be null). */ protected void appendHeader(HeaderTerm term, String charset) throws MessagingException { appendAtom("HEADER"); appendString(term.getHeaderName()); appendString(term.getPattern(), charset); }
public SearchTermBuilder header(Op op, String headerName, String pattern) { SearchTerm st = new HeaderTerm(headerName, pattern); addTerm(op, st); return this; }
private static Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
/** * Defines filter for {@link Header}. * * @param headerName The name of the {@link Header}. * @param pattern String pattern to use for headerName. * @return this */ public EmailFilter header(final String headerName, final String pattern) { final SearchTerm term = new HeaderTerm(headerName, pattern); concat(term); return this; }
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
@Override public SearchTerm build() { return new HeaderTerm(getParameters().get(0), getParameters().get(1)); } };
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
@Override protected void onReceiveBeforeRead() throws IOException { try { String requestMessageId = requestMessage.getMessageID(); Assert.hasLength(requestMessageId, "No Message-ID found on request message [" + requestMessage + "]"); try { Thread.sleep(receiveTimeout); } catch (InterruptedException e) { // Re-interrupt current thread, to allow other threads to react. Thread.currentThread().interrupt(); } openFolder(); SearchTerm searchTerm = new HeaderTerm(MailTransportConstants.HEADER_IN_REPLY_TO, requestMessageId); Message[] responses = folder.search(searchTerm); if (responses.length > 0) { if (responses.length > 1) { logger.warn("Received more than one response for request with ID [" + requestMessageId + "]"); } responseMessage = responses[0]; } if (deleteAfterReceive) { responseMessage.setFlag(Flags.Flag.DELETED, true); } } catch (MessagingException ex) { throw new MailTransportException(ex); } }
private static Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
@Override protected void onReceiveBeforeRead() throws IOException { try { String requestMessageId = requestMessage.getMessageID(); Assert.hasLength(requestMessageId, "No Message-ID found on request message [" + requestMessage + "]"); try { Thread.sleep(receiveTimeout); } catch (InterruptedException e) { // Re-interrupt current thread, to allow other threads to react. Thread.currentThread().interrupt(); } openFolder(); SearchTerm searchTerm = new HeaderTerm(MailTransportConstants.HEADER_IN_REPLY_TO, requestMessageId); Message[] responses = folder.search(searchTerm); if (responses.length > 0) { if (responses.length > 1) { logger.warn("Received more than one response for request with ID [" + requestMessageId + "]"); } responseMessage = responses[0]; } if (deleteAfterReceive) { responseMessage.setFlag(Flags.Flag.DELETED, true); } } catch (MessagingException ex) { throw new MailTransportException(ex); } }
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
@Override protected void onReceiveBeforeRead() throws IOException { try { String requestMessageId = requestMessage.getMessageID(); Assert.hasLength(requestMessageId, "No Message-ID found on request message [" + requestMessage + "]"); try { Thread.sleep(receiveTimeout); } catch (InterruptedException e) { // Re-interrupt current thread, to allow other threads to react. Thread.currentThread().interrupt(); } openFolder(); SearchTerm searchTerm = new HeaderTerm(MailTransportConstants.HEADER_IN_REPLY_TO, requestMessageId); Message[] responses = folder.search(searchTerm); if (responses.length > 0) { if (responses.length > 1) { logger.warn("Received more than one response for request with ID [" + requestMessageId + "]"); } responseMessage = responses[0]; } if (deleteAfterReceive) { responseMessage.setFlag(Flags.Flag.DELETED, true); } } catch (MessagingException ex) { throw new MailTransportException(ex); } }
protected Argument header(HeaderTerm term, String charset) throws SearchException, IOException { Argument result = new Argument(); result.writeAtom("HEADER"); result.writeString(term.getHeaderName()); result.writeString(term.getPattern(), charset); return result; }
final Message[] mailMessages = mailFolder.getMessages(); final SearchTerm searchTerm = new SubjectTerm(subject); final SearchTerm deleteTerm = new HeaderTerm(MTM_HEADER_KEY, m_headerValue);