/** * Return the HookResult after run the hook * * @Deprecated use {@link #doMail(SMTPSession, MaybeSender)} instead * * @param session the SMTPSession * @param sender the sender MailAddress * @return HockResult */ @Deprecated default HookResult doMail(SMTPSession session, MailAddress sender) { return doMail(session, MaybeSender.of(sender)); }
/** * Returns the sender of the message, as specified by the SMTP "MAIL FROM" command, * or internally defined. * * 'null' or {@link MailAddress#nullSender()} are handled with {@link MaybeSender}. * * @since Mailet API v3.2.0 * @return the sender of this message wrapped in an optional */ default MaybeSender getMaybeSender() { return MaybeSender.of(getSender()); }
/** * Returns the sender of the message, as specified by the SMTP "MAIL FROM" command, * or internally defined. * * 'null' or {@link MailAddress#nullSender()} are handled with {@link MaybeSender#nullSender()}. * * @since Mailet API v3.2.0 * @return the sender of this message wrapped in an optional */ default MaybeSender getMaybeSender() { return MaybeSender.of(getSender()); }
@Override public Map<String,Object> getState() { map.put(SMTPSession.SENDER, MaybeSender.of(sender)); return map; }
public static MaybeSender getMailSender(String sender) { if (sender == null || sender.trim().isEmpty()) { return MaybeSender.nullSender(); } if (sender.equals(MailAddress.NULL_SENDER_AS_STRING)) { return MaybeSender.nullSender(); } try { return MaybeSender.of(new MailAddress(sender)); } catch (AddressException e) { // Should never happen as long as the user does not modify the header by himself LOGGER.warn("Unable to parse the sender address {}, so we fallback to a null sender", sender, e); return MaybeSender.nullSender(); } }
private MaybeSender toMaybeSender(String senderAsString) throws AddressException { if (senderAsString.length() == 0) { // This is the <> case. return MaybeSender.nullSender(); } if (senderAsString.equals("@")) { return MaybeSender.nullSender(); } return MaybeSender.of(new MailAddress( appendDefaultDomainIfNeeded(senderAsString))); }
@Test void asStringWithDefaultShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asString("default")) .isEqualTo(MAIL_ADDRESS_STRING); }
@Test void isNullSenderShouldReturnFalseWhenNotNullSender() { assertThat(MaybeSender.of(mailAddress).isNullSender()) .isFalse(); }
@Test void ofShouldSanitizeNull() { assertThat(MaybeSender.of(null)) .isEqualTo(MaybeSender.nullSender()); }
@Test void isNullSenderShouldReturnFalseWhenNotNullSender() { assertThat(MaybeSender.of(mailAddress).isNullSender()) .isFalse(); }
@Test void asStringShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asString()) .isEqualTo(MAIL_ADDRESS_STRING); }
@Test void asStringShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asString()) .isEqualTo(MAIL_ADDRESS_STRING); }
@Test void asPrettyStringShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asPrettyString()) .isEqualTo("<" + MAIL_ADDRESS_STRING + ">"); }
@Test void asStringWithDefaultShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asString("default")) .isEqualTo(MAIL_ADDRESS_STRING); }
@Test void getMailSenderShouldReturnParsedAddressWhenNotNullAddress() throws Exception { assertThat(MaybeSender.getMailSender(GOOD_ADDRESS)) .isEqualTo(MaybeSender.of(new MailAddress(GOOD_ADDRESS))); }
@Test void ofShouldSanitizeNullSender() { assertThat(MaybeSender.of(MailAddress.nullSender())) .isEqualTo(MaybeSender.nullSender()); }
@Test void asOptionalShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asOptional()) .contains(mailAddress); }
@Test void asListShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asList()) .contains(mailAddress); }
@Test void asOptionalShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asOptional()) .contains(mailAddress); }
@Test void asStreamShouldReturnWrappedValue() { assertThat(MaybeSender.of(mailAddress).asStream()) .contains(mailAddress); }