/** * Defines filter for FROM field. * * @param fromAddress The FROM address * @return this */ public EmailFilter from(final String fromAddress) { final SearchTerm fromTerm = new FromStringTerm(fromAddress); concat(fromTerm); return this; }
/** * append IMAP search term information from a FromStringTerm item. * * @param term The source FromStringTerm * @param charset target charset for the search information (can be null). */ protected void appendFrom(FromStringTerm term, String charset) throws MessagingException { appendAtom("FROM"); // this may require encoding appendString(term.getPattern(), charset); }
public boolean match(Message message) { try { Address from[] = message.getFrom(); for (int i = 0; i < from.length; i++) { if (match(from[i])){ return true; } } return false; } catch (MessagingException e) { return false; } } }
return from(fterm.getPattern(), charset);
public boolean match(Message message) { try { Address from[] = message.getFrom(); if (from == null) { return false; } for (int i = 0; i < from.length; i++) { if (match(from[i])){ return true; } } return false; } catch (MessagingException e) { return false; } } }
/** * Set filter on message sender. * * @param sender * messages will be filtered on sender * @param notTerm * negate condition */ public void setSenderTerm( String sender, boolean notTerm ) { if ( !Utils.isEmpty( sender ) ) { if ( notTerm ) { addSearchTerm( new NotTerm( new FromStringTerm( sender ) ) ); } else { addSearchTerm( new FromStringTerm( sender ) ); } } }
return from(fterm.getPattern(), charset);
@Test void testAnd1() { final EmailFilter emailFilter = filter() .from(FROM); final SearchTerm expected = new FromStringTerm(FROM); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
@Test void testAnd2() { final EmailFilter emailFilter = filter() .from(FROM) .to(TO); final SearchTerm expected = new AndTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
@Test void testOr2Alt() { final EmailFilter emailFilter = filter().or() .from(FROM) .to(TO); final SearchTerm expected = new OrTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
@Test void testOr2() { final EmailFilter emailFilter = filter().or( filter().from(FROM), filter().to(TO) ); final SearchTerm expected = new OrTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
@Test void testAndOrNot() { final EmailFilter emailFilter = filter() .from(FROM) .to(TO) .or() .not() .subject(SUBJECT) .from(FROM_2); final SearchTerm expected = new OrTerm( new OrTerm( new AndTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ), new NotTerm( new SubjectTerm(SUBJECT) ) ), new FromStringTerm(FROM_2) ); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
@Test void testAndOrNotAlt() { final EmailFilter emailFilter = filter() .or( filter().and( filter().from(FROM), filter().to(TO) ), filter().not(filter().subject(SUBJECT)), filter().from(FROM_2) ); final SearchTerm expected = new OrTerm( new SearchTerm[]{ new AndTerm( new FromStringTerm(FROM), new RecipientStringTerm(Message.RecipientType.TO, TO) ), new NotTerm( new SubjectTerm(SUBJECT) ), new FromStringTerm(FROM_2) } ); assertEquals(expected, emailFilter.searchTerm); }
return from(fterm.getPattern(), charset);
public class DomainMatch { public static void main(String[] args) throws Exception { MimeMessage msg = new MimeMessage((Session) null); msg.addFrom(InternetAddress.parse("foo@bar.org")); msg.saveChanges(); System.out.println(new FromStringTerm("@bar.org").match(msg)); System.out.println(new FromStringTerm("@spam.org").match(msg)); } }