/** * Test method for {@link MailAddress#equals(java.lang.Object)}. * * @throws AddressException */ @Test public void testEqualsObject() throws AddressException { MailAddress a = new MailAddress(GOOD_ADDRESS); MailAddress b = new MailAddress(GOOD_ADDRESS); assertThat(a).isNotNull().isEqualTo(b); }
private void appendRecipient(StringBuffer buffer, MailAddress mailAddress, String deliveryError, Date lastUpdated) { buffer.append(LINE_BREAK); buffer.append("Final-Recipient: rfc822; " + mailAddress.toString()).append(LINE_BREAK); buffer.append("Action: failed").append(LINE_BREAK); buffer.append("Status: " + deliveryError).append(LINE_BREAK); buffer.append("Diagnostic-Code: " + getDiagnosticType(deliveryError) + "; " + deliveryError).append(LINE_BREAK); buffer.append("Last-Attempt-Date: " + dateFormatter.format(lastUpdated)) .append(LINE_BREAK); }
public MailAddress(org.apache.james.core.MailAddress address) throws AddressException { super(address.asString()); } }
@Override public String getUser(MailAddress mailAddress) throws UsersRepositoryException { if (supportVirtualHosting()) { return mailAddress.asString(); } else { return mailAddress.getLocalPart(); } }
private String computeUsername(MailAddress recipient) { try { return usersRepository.getUser(recipient); } catch (UsersRepositoryException e) { LOGGER.warn("Unable to retrieve username for {}", recipient.asPrettyString(), e); return recipient.toString(); } } }
public static User fromMailAddress(MailAddress address) { Preconditions.checkNotNull(address); return new User(address.getLocalPart(), Optional.of(address.getDomain())); }
@Test public void matchShouldReturnEmptyWhenLoopButNoRecipient() throws Exception { recipientRewriteTable.addAddressMapping(MappingSource.fromUser(SENDER.getLocalPart(), SENDER.getDomain()), RECIPIENT1.asString()); recipientRewriteTable.addAddressMapping(MappingSource.fromUser(RECIPIENT1.getLocalPart(), RECIPIENT1.getDomain()), SENDER.asString()); Collection<MailAddress> result = testee.match(FakeMail.builder() .sender(SENDER) .build()); assertThat(result).isEmpty(); }
/** * Test method for {@link MailAddress#getDomain()}. */ @Test public void testGetDomain() { try { MailAddress a = new MailAddress(new InternetAddress(GOOD_ADDRESS)); assertThat(a.getDomain()).isEqualTo(GOOD_DOMAIN); } catch (AddressException e) { System.out.println("AddressException" + e.getMessage()); assertThat(false).describedAs(e.getMessage()).isTrue(); } }
/** * Test method for {@link MailAddress#getLocalPart()}. */ @Test public void testGetLocalPart() { try { MailAddress a = new MailAddress(new InternetAddress(GOOD_QUOTED_LOCAL_PART)); assertThat(a.getLocalPart()).isEqualTo(GOOD_LOCAL_PART); } catch (AddressException e) { System.out.println("AddressException" + e.getMessage()); assertThat(false).describedAs(e.getMessage()).isTrue(); } }
@Before public void setup() throws Exception { MockitoAnnotations.initMocks(this); mailetContext = FakeMailContext.defaultContext(); processor = new RecipientRewriteTableProcessor(virtualTableStore, domainList, mailetContext); mail = FakeMail.builder().sender(MailAddressFixture.ANY_AT_JAMES).build(); mappings = MappingsImpl.builder() .add(MailAddressFixture.ANY_AT_JAMES.toString()) .build(); message = MimeMessageUtil.defaultMimeMessage(); nonDomainWithDefaultLocal = new MailAddress(NONEDOMAIN + "@" + MailAddressFixture.JAMES_LOCAL); }
@Test public void replaceInternetAddressesShouldReturnSameAddressWhenAddressesDoesntMatch() throws Exception { FakeMail mail = FakeMail.builder() .build(); MailAddress address = new MailAddress("user", "address.marker"); MailAddress address2 = new MailAddress("user2", "address.marker"); List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(address.toInternetAddress(), address2.toInternetAddress())); assertThat(addresses).containsOnly(address, address2); }
@SuppressWarnings("deprecation") @Test public void getMailSenderShouldReturnParsedAddressWhenNotNullAddress() throws Exception { assertThat(MailAddress.getMailSender(GOOD_ADDRESS)) .isEqualTo(new MailAddress(GOOD_ADDRESS)); }
public static boolean isSpecialAddress(MailAddress mailAddress) { return mailAddress.getDomain().equals(AddressMarker.ADDRESS_MARKER); } }
@Test public void replaceInternetAddressesShouldReturnReplyToWhenAddressesMatchReplyTo() throws Exception { MimeMessage message = MimeMessageUtil.defaultMimeMessage(); message.setReplyTo(InternetAddress.parse(MailAddressFixture.ANY_AT_JAMES.toString() + ", " + MailAddressFixture.OTHER_AT_JAMES.toString())); FakeMail mail = FakeMail.from(message); MailAddress expectedReplyTo = MailAddressFixture.ANY_AT_JAMES; MailAddress expectedReplyTo2 = MailAddressFixture.OTHER_AT_JAMES; List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.REPLY_TO.toInternetAddress())); assertThat(addresses).containsOnly(expectedReplyTo, expectedReplyTo2); }
@Test public void replaceInternetAddressesShouldReturnToWhenAddressesMatchRecipients() throws Exception { MailAddress to = MailAddressFixture.ANY_AT_JAMES; MailAddress to2 = MailAddressFixture.OTHER_AT_JAMES; FakeMail mail = FakeMail.from(MimeMessageBuilder.mimeMessageBuilder() .addToRecipient(to.asString(), to2.asString())); List<MailAddress> addresses = testee.replaceInternetAddresses(mail, ImmutableList.of(SpecialAddress.RECIPIENTS.toInternetAddress())); assertThat(addresses).containsOnly(to, to2); }
@SuppressWarnings("deprecation") @Test public void getMailSenderShouldReturnNullSenderWhenNullSender() { assertThat(MailAddress.getMailSender(MailAddress.NULL_SENDER_AS_STRING)) .isEqualTo(MailAddress.nullSender()); }
/** * Return the HookResult after run the hook * * This strongly typed version of do mail is safer to use. * * @since James 3.2.0 */ default HookResult doMail(SMTPSession session, MaybeSender sender) { return doMail(session, sender.asOptional().orElse(MailAddress.nullSender())); } }
/** * Returns the user part. * * @return the user part of this email address * @deprecated use {@link #getLocalPart()}, whose name was changed to * align with the RFC2822 3.4.1. addr-spec specification */ @Deprecated public String getUser() { return getLocalPart(); }
private boolean containsOnlyUnalteredOrTo(List<InternetAddress> apparentlyTo) { return apparentlyTo.size() == 1 && (apparentlyTo.get(0).equals(SpecialAddress.UNALTERED.toInternetAddress()) || apparentlyTo.get(0).equals(SpecialAddress.RECIPIENTS.toInternetAddress())); } }
@Test public void matchShouldReturnRecipientsWhenLoop() throws Exception { recipientRewriteTable.addAddressMapping(MappingSource.fromUser(SENDER.getLocalPart(), SENDER.getDomain()), RECIPIENT1.asString()); recipientRewriteTable.addAddressMapping(MappingSource.fromUser(RECIPIENT1.getLocalPart(), RECIPIENT1.getDomain()), SENDER.asString()); Collection<MailAddress> result = testee.match(FakeMail.builder() .sender(SENDER) .recipient(RECIPIENT2) .build()); assertThat(result).containsOnly(RECIPIENT2); }