private boolean isAnonymous(MaybeSender maybeSender) { return maybeSender == null || maybeSender.isNullSender(); }
/** * Returns if this message has a sender. * * {@link MaybeSender#nullSender()} will be considered as no sender. * * @since Mailet API v3.2.0 */ default boolean hasSender() { return !getMaybeSender().isNullSender(); }
/** * Returns if this message has a sender. * * {@link MaybeSender#nullSender()} will be considered as no sender. * * @since Mailet API v3.2.0 */ default boolean hasSender() { return !getMaybeSender().isNullSender(); }
private String getContext(SMTPSession session, MailAddress recipientAddress, String recipient) { StringBuilder sb = new StringBuilder(128); if (null != recipientAddress) { sb.append(" [to:").append(recipientAddress.asString()).append(']'); } else if (null != recipient) { sb.append(" [to:").append(recipient).append(']'); } MaybeSender sender = (MaybeSender) session.getAttachment(SMTPSession.SENDER, State.Transaction); if (null != sender && !sender.isNullSender()) { sb.append(" [from:").append(sender.asString()).append(']'); } return sb.toString(); }
private boolean senderMatchSessionUser(MaybeSender maybeSender, SMTPSession session) { Preconditions.checkArgument(!maybeSender.isNullSender()); String authUser = session.getUser().toLowerCase(Locale.US); String username = getUser(maybeSender.get()); return username.equals(authUser); }
private boolean belongsToLocalDomain(MaybeSender maybeSender) { Preconditions.checkArgument(!maybeSender.isNullSender()); return isLocalDomain(maybeSender.get().getDomain()); }
@Test void isNullSenderShouldReturnTrueWhenNullSender() { assertThat(MaybeSender.nullSender().isNullSender()) .isTrue(); }
@Test void isNullSenderShouldReturnFalseWhenNotNullSender() { assertThat(MaybeSender.of(mailAddress).isNullSender()) .isFalse(); }
@Test void isNullSenderShouldReturnFalseWhenNotNullSender() { assertThat(MaybeSender.of(mailAddress).isNullSender()) .isFalse(); }
@Test void isNullSenderShouldReturnTrueWhenNullSender() { assertThat(MaybeSender.nullSender().isNullSender()) .isTrue(); }
@Override public HookResult doMail(SMTPSession session, MaybeSender sender) { if (!sender.isNullSender() && !hasMXRecord(session,sender.get().getDomain().name())) { return HookResult.builder() .hookReturnCode(HookReturnCode.deny()) .smtpReturnCode(SMTPRetCode.SYNTAX_ERROR_ARGUMENTS) .smtpDescription(DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.ADDRESS_SYNTAX_SENDER) + " sender " + sender + " contains a domain with no valid MX records") .build(); } else { return HookResult.DECLINED; } }