public ProdMailer(Vertx vertx, JsonObject serverConfig) { MailConfig config = new MailConfig(); config.setHostname(serverConfig.getString("smtp.hostname", MailConfig.DEFAULT_HOST)); config.setPort(serverConfig.getInteger("smtp.port", MailConfig.DEFAULT_PORT)); config.setUsername(serverConfig.getString("smtp.username")); config.setPassword(serverConfig.getString("smtp.password")); config.setKeepAlive(serverConfig.getBoolean("smtp.keepAlive", MailConfig.DEFAULT_KEEP_ALIVE)); // make the default work on default linux installs config.setTrustAll(serverConfig.getBoolean("smtp.trustAll", true)); config.setStarttls(StartTLSOptions.valueOf(serverConfig.getString("smtp.starttls", MailConfig.DEFAULT_TLS.name()))); mailClient = MailClient.createShared(vertx, config); }
public ProdMailer(Vertx vertx, JsonObject serverConfig) { MailConfig config = new MailConfig(); config.setHostname(serverConfig.getString("smtp.hostname", MailConfig.DEFAULT_HOST)); config.setPort(serverConfig.getInteger("smtp.port", MailConfig.DEFAULT_PORT)); config.setUsername(serverConfig.getString("smtp.username")); config.setPassword(serverConfig.getString("smtp.password")); config.setKeepAlive(serverConfig.getBoolean("smtp.keepAlive", MailConfig.DEFAULT_KEEP_ALIVE)); // make the default work on default linux installs config.setTrustAll(serverConfig.getBoolean("smtp.trustAll", true)); config.setStarttls(StartTLSOptions.valueOf(serverConfig.getString("smtp.starttls", MailConfig.DEFAULT_TLS.name()))); mailClient = MailClient.createShared(vertx, config); }
@Test public void mailTestTLSNoTrust(TestContext testContext) { this.testContext=testContext; MailClient mailClient = MailClient.createNonShared(vertx, configLogin().setStarttls(StartTLSOptions.REQUIRED)); testException(mailClient); }
@Test public void testStarttls() { MailConfig mailConfig = new MailConfig(); mailConfig.setStarttls(StartTLSOptions.REQUIRED); assertEquals(StartTLSOptions.REQUIRED, mailConfig.getStarttls()); }
@Test public void mailTestTLSTrustAll(TestContext testContext) { this.testContext=testContext; MailClient mailClient = MailClient.createNonShared(vertx, configLogin().setStarttls(StartTLSOptions.REQUIRED).setTrustAll(true)); testSuccess(mailClient, exampleMessage(), assertExampleMessage()); }
@Test public void mailTestTLSValidCertWrongHost(TestContext testContext) { this.testContext = testContext; final MailConfig config = configLogin().setHostname("127.0.0.1").setStarttls(StartTLSOptions.REQUIRED) .setKeyStore("src/test/resources/certs/client.jks").setKeyStorePassword("password"); MailClient mailClient = MailClient.createNonShared(vertx, config); testException(mailClient); }
@Test public void toJsonTest3() { MailConfig mailConfig = new MailConfig(); mailConfig.setHostname(null).setPort(0).setStarttls(null).setLogin(null); assertEquals("{\"port\":0,\"maxPoolSize\":10}", mailConfig.toJson().toString()); }
@Test public void mailTestTLSValidCertWrongHost(TestContext testContext) { this.testContext = testContext; final MailConfig config = defaultConfig().setHostname("127.0.0.1").setPort(1587).setStarttls(StartTLSOptions.REQUIRED) .setKeyStore("src/test/resources/certs/client.jks").setKeyStorePassword("password"); MailClient mailClient = MailClient.createNonShared(vertx, config); testException(mailClient); }
@Test public void mailTestTLSCorrectCert(TestContext testContext) { this.testContext = testContext; final MailConfig config = configLogin().setStarttls(StartTLSOptions.REQUIRED) .setKeyStore("src/test/resources/certs/client.jks").setKeyStorePassword("password"); MailClient mailClient = MailClient.createNonShared(vertx, config); testSuccess(mailClient, exampleMessage(), assertExampleMessage()); }
@Test public void mailTestTLSWrongHostTrustAll(TestContext testContext) { this.testContext = testContext; final MailConfig config = defaultConfig().setHostname("127.0.0.1").setPort(1587).setStarttls(StartTLSOptions.REQUIRED) .setKeyStore("src/test/resources/certs/client.jks").setKeyStorePassword("password").setTrustAll(true); MailClient mailClient = MailClient.createNonShared(vertx, config); testSuccess(mailClient); }
@Test public void mailTestTLSCase(TestContext testContext) { this.testContext = testContext; final MailConfig config = configLogin().setHostname("LOCALHOST").setStarttls(StartTLSOptions.REQUIRED) .setKeyStore("src/test/resources/certs/client.jks").setKeyStorePassword("password"); MailClient mailClient = MailClient.createNonShared(vertx, config); testSuccess(mailClient, exampleMessage(), assertExampleMessage()); }