Search in sources :

Example 1 with Mailer

use of org.simplejavamail.api.mailer.Mailer in project spring-zerocell by nndi-oss.

the class ExcelToEmailController method sendEmailToCustomer.

private void sendEmailToCustomer(Customer customer) {
    Email email = EmailBuilder.startingBlank().from("noreply@nndi-tech.com").to(customer.getFullName(), customer.getEmail()).withSubject("Spring Zerocell Newsletter").withPlainText(String.format("Hello %s, \nPlease view this email in a modern email client!", customer.getFullName())).buildEmail();
    Mailer mailer = MailerBuilder.withDebugLogging(true).withSessionTimeout(10 * 1000).async().buildMailer();
    mailer.sendMail(email);
}
Also used : Email(org.simplejavamail.api.email.Email) Mailer(org.simplejavamail.api.mailer.Mailer)

Example 2 with Mailer

use of org.simplejavamail.api.mailer.Mailer in project simple-java-mail by bbottema.

the class MailerSOCKSLiveTest method testSOCKSPassthrough_Authenticating.

@Test
public // but it triggers the code on the mailer side, which should not produce errors either
void testSOCKSPassthrough_Authenticating() throws Exception {
    Mailer mailer = MailerBuilder.withSMTPServer("localhost", SMTP_SERVER_PORT).withProxy("localhost", PROXY_SERVER_PORT, "username", "password").buildMailer();
    assertSendingEmail(mailer, EmailHelper.createDummyEmailBuilder(true, true, false, false, false, false), false);
}
Also used : Mailer(org.simplejavamail.api.mailer.Mailer) Test(org.junit.Test)

Example 3 with Mailer

use of org.simplejavamail.api.mailer.Mailer in project simple-java-mail by bbottema.

the class MailerTest method createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS.

@Test
public void createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS() {
    Properties properties = new Properties();
    properties.setProperty(OPPORTUNISTIC_TLS.key(), "false");
    properties.setProperty("simplejavamail.extraproperties.extra-properties-property2", "override");
    ConfigLoader.loadProperties(properties, true);
    Mailer mailer = MailerBuilder.withTransportStrategy(TransportStrategy.SMTP).buildMailer();
    Session session = mailer.getSession();
    assertThat(session.getDebug()).isTrue();
    assertThat(session.getProperty("mail.smtp.host")).isEqualTo("smtp.default.com");
    assertThat(session.getProperty("mail.smtp.port")).isEqualTo("25");
    assertThat(session.getProperty("mail.transport.protocol")).isEqualTo("smtp");
    assertThat(session.getProperty("mail.smtp.starttls.enable")).isNull();
    assertThat(session.getProperty("mail.smtp.starttls.required")).isNull();
    assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
    assertThat(session.getProperty("mail.smtp.username")).isEqualTo("username smtp");
    assertThat(session.getProperty("mail.smtp.auth")).isEqualTo("true");
    // the following two are because authentication is needed, otherwise proxy would be straightworward
    assertThat(session.getProperty("mail.smtp.socks.host")).isEqualTo("localhost");
    assertThat(session.getProperty("mail.smtp.socks.port")).isEqualTo("1081");
    assertThat(session.getProperty("extra-properties-property1")).isNull();
    assertThat(session.getProperty("extra-properties-property2")).isEqualTo("override");
}
Also used : Mailer(org.simplejavamail.api.mailer.Mailer) CustomMailer(org.simplejavamail.api.mailer.CustomMailer) Properties(java.util.Properties) Session(jakarta.mail.Session) Test(org.junit.Test)

Example 4 with Mailer

use of org.simplejavamail.api.mailer.Mailer in project simple-java-mail by bbottema.

the class MailerTest method createMailSession_MinimalConstructor_WithoutConfig.

@Test
public void createMailSession_MinimalConstructor_WithoutConfig() {
    ConfigLoaderTestHelper.clearConfigProperties();
    final UUID clusterKey = UUID.randomUUID();
    Mailer mailer = MailerBuilder.withSMTPServer("host", 25, null, null).withClusterKey(clusterKey).buildMailer();
    assertThat(mailer.getOperationalConfig().getSslHostsToTrust()).isEmpty();
    Session session = mailer.getSession();
    assertThat(session.getDebug()).isFalse();
    assertThat(session.getProperty("mail.smtp.host")).isEqualTo("host");
    assertThat(session.getProperty("mail.smtp.port")).isEqualTo("25");
    assertThat(session.getProperty("mail.transport.protocol")).isEqualTo("smtp");
    assertThat(session.getProperty("mail.smtp.starttls.enable")).isEqualTo("true");
    assertThat(session.getProperty("mail.smtp.starttls.required")).isEqualTo("false");
    assertThat(session.getProperty("mail.smtp.ssl.trust")).isEqualTo("*");
    assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
    assertThat(session.getProperty("mail.smtp.username")).isNull();
    assertThat(session.getProperty("mail.smtp.auth")).isNull();
    assertThat(session.getProperty("mail.smtp.socks.host")).isNull();
    assertThat(session.getProperty("mail.smtp.socks.port")).isNull();
    assertThat(session.getProperty("extra1")).isNull();
    assertThat(session.getProperty("extra2")).isNull();
    assertThat(session.getProperty("extra-properties-property1")).isNull();
    assertThat(session.getProperty("extra-properties-property2")).isNull();
    assertThat(mailer.getOperationalConfig().getClusterKey()).isEqualTo(clusterKey);
    // all constructors, providing the same minimal information
    Mailer alternative1 = MailerBuilder.withSMTPServer("host", 25).withClusterKey(clusterKey).buildMailer();
    Mailer alternative2 = MailerBuilder.usingSession(session).withClusterKey(clusterKey).buildMailer();
    assertThat(session.getProperties()).isEqualTo(alternative1.getSession().getProperties());
    assertThat(session.getProperties()).isEqualTo(alternative2.getSession().getProperties());
}
Also used : Mailer(org.simplejavamail.api.mailer.Mailer) CustomMailer(org.simplejavamail.api.mailer.CustomMailer) UUID(java.util.UUID) Session(jakarta.mail.Session) Test(org.junit.Test)

Example 5 with Mailer

use of org.simplejavamail.api.mailer.Mailer in project simple-java-mail by bbottema.

the class MailerTest method createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS_Manually_Disabled.

@Test
public void createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS_Manually_Disabled() {
    Properties properties = new Properties();
    properties.setProperty(OPPORTUNISTIC_TLS.key(), "false");
    ConfigLoader.loadProperties(properties, true);
    TransportStrategy.SMTP.setOpportunisticTLS(true);
    Mailer mailer = MailerBuilder.withTransportStrategy(TransportStrategy.SMTP).buildMailer();
    Session session = mailer.getSession();
    assertThat(session.getDebug()).isTrue();
    assertThat(session.getProperty("mail.smtp.host")).isEqualTo("smtp.default.com");
    assertThat(session.getProperty("mail.smtp.port")).isEqualTo("25");
    assertThat(session.getProperty("mail.transport.protocol")).isEqualTo("smtp");
    assertThat(session.getProperty("mail.smtp.starttls.enable")).isEqualTo("true");
    assertThat(session.getProperty("mail.smtp.starttls.required")).isEqualTo("false");
    assertThat(session.getProperty("mail.smtp.ssl.trust")).isEqualTo("*");
    assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
    assertThat(session.getProperty("mail.smtp.username")).isEqualTo("username smtp");
    assertThat(session.getProperty("mail.smtp.auth")).isEqualTo("true");
    // the following two are because authentication is needed, otherwise proxy would be straightworward
    assertThat(session.getProperty("mail.smtp.socks.host")).isEqualTo("localhost");
    assertThat(session.getProperty("mail.smtp.socks.port")).isEqualTo("1081");
}
Also used : Mailer(org.simplejavamail.api.mailer.Mailer) CustomMailer(org.simplejavamail.api.mailer.CustomMailer) Properties(java.util.Properties) Session(jakarta.mail.Session) Test(org.junit.Test)

Aggregations

Mailer (org.simplejavamail.api.mailer.Mailer)19 Test (org.junit.Test)14 Session (jakarta.mail.Session)11 CustomMailer (org.simplejavamail.api.mailer.CustomMailer)11 Properties (java.util.Properties)2 SSLSocketFactory (javax.net.ssl.SSLSocketFactory)2 Email (org.simplejavamail.api.email.Email)2 NzymeLeader (horse.wtf.nzyme.NzymeLeader)1 ReportingConfiguration (horse.wtf.nzyme.configuration.ReportingConfiguration)1 UUID (java.util.UUID)1 ByteArrayDataSource (javax.mail.util.ByteArrayDataSource)1 EmailConfig (org.apache.streampipes.config.backend.model.EmailConfig)1