code: public static Predicate<Message> forRecipient(final String recipient) {
  		return new Predicate<Message>() {
  			@Override
  			public boolean apply(final Message input) {
  				Address[] addresses;
  				try {
  					addresses = input.getAllRecipients();
  					if (addresses == null) {
  						return false;
  					}
  					for (Address address : addresses) {
  						if (StringUtils.equalsIgnoreCase(address.toString(), recipient)) {
  							return true;
  						}
  					}
  				} catch (MessagingException e) {
  					throw new MailException("Error while reading recipients", e);
  				}
  				return false;
  			}
  
  			@Override
  			public String toString() {
  				return String.format("recipient to include %s", recipient);
  			}
  		};
  	}
docs: Creates a {@link Predicate} for matching a mail recipient. This Predicate returns true if at least
  one recipient matches the given value.
  
  @param recipient
  the recipient to match
  @return the predicate