List of usage examples for org.springframework.mail.javamail JavaMailSenderImpl JavaMailSenderImpl
public JavaMailSenderImpl()
From source file:org.thingsboard.rule.engine.mail.TbSendEmailNode.java
private JavaMailSenderImpl createMailSender() { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(this.config.getSmtpHost()); mailSender.setPort(this.config.getSmtpPort()); mailSender.setUsername(this.config.getUsername()); mailSender.setPassword(this.config.getPassword()); mailSender.setJavaMailProperties(createJavaMailProperties()); return mailSender; }
From source file:org.thingsboard.server.service.mail.DefaultMailService.java
private JavaMailSenderImpl createMailSender(JsonNode jsonConfig) { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(jsonConfig.get("smtpHost").asText()); mailSender.setPort(parsePort(jsonConfig.get("smtpPort").asText())); mailSender.setUsername(jsonConfig.get("username").asText()); mailSender.setPassword(jsonConfig.get("password").asText()); mailSender.setJavaMailProperties(createJavaMailProperties(jsonConfig)); return mailSender; }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
@Test public void testComposeMimeMessageInternalTextAndHtmlVersion() throws MessagingException, IOException, ClassNotFoundException { // of course you would use DI in any real-world cases JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); String textTemplate = "$name lives in theme park with <% with.each{ out.print(it + ' ');}%>"; String htmlTemplate = "<h2>$name</h2> lives in theme park with:<br> <% with.each{ out.print(it + '<br>');}%>"; MailComposerImpl mailComposer = new MailComposerImpl(null); mailComposer.composeMessage(helper, textTemplate, htmlTemplate, Collections.EMPTY_LIST, "SHOP10", "en", "test", createModel()); assertTrue(helper.isMultipart());//from w w w .j a v a2 s .c o m ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("Bender lives in theme park with blackjack poetess")); assertTrue(str.contains("<h2>Bender</h2> lives in theme park with:<br> blackjack<br>poetess<br>")); }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
/** * Text template only/* w w w . j a v a 2 s .c o m*/ */ @Test public void testComposeMimeMessageInternalTextVersionOnly() throws MessagingException, IOException, ClassNotFoundException { // of course you would use DI in any real-world cases JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); String textTemplate = "$name lives in theme park with <% with.each{ out.print(it + ' ');}%>"; String htmlTemplate = null; MailComposerImpl mailComposer = new MailComposerImpl(null); mailComposer.composeMessage(helper, textTemplate, htmlTemplate, Collections.EMPTY_LIST, "SHOP10", "en", "test", createModel()); assertTrue(helper.isMultipart()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("Bender lives in theme park with blackjack poetess")); }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
/** * html only/*from ww w . ja v a2s . co m*/ */ @Test public void testComposeMimeMessageInternalHtmlVersionOnly() throws MessagingException, IOException, ClassNotFoundException { // of course you would use DI in any real-world cases JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); String textTemplate = null; String htmlTemplate = "<h2>$name</h2> lives in theme park with:<br> <% with.each{ out.print(it + '<br>');}%>"; MailComposerImpl mailComposer = new MailComposerImpl(null); mailComposer.composeMessage(helper, textTemplate, htmlTemplate, Collections.EMPTY_LIST, "SHOP10", "en", "test", createModel()); assertTrue(helper.isMultipart()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("<h2>Bender</h2> lives in theme park with:<br> blackjack<br>poetess<br>")); }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
@Test public void testComposeMimeMessageInternalFullIntegration() throws MessagingException, IOException, ClassNotFoundException { final MailTemplateResourcesProvider mailTemplateResourcesProvider = mockery .mock(MailTemplateResourcesProvider.class); mockery.checking(new Expectations() { {//from ww w. j ava 2s. co m one(mailTemplateResourcesProvider).getTemplate(Arrays.asList("default/mail/"), "SHOP10", "en", "imtest", ".txt"); will(returnValue(IOUtils.toString( new FileInputStream(new File("src/test/resources/mailtemplates/default/imtest/imtest.txt")), "UTF-8"))); one(mailTemplateResourcesProvider).getTemplate(Arrays.asList("default/mail/"), "SHOP10", "en", "imtest", ".html"); will(returnValue(IOUtils.toString( new FileInputStream( new File("src/test/resources/mailtemplates/default/imtest/imtest.html")), "UTF-8"))); one(mailTemplateResourcesProvider).getTemplate(Arrays.asList("default/mail/"), "SHOP10", "en", "imtest", ".properties"); will(returnValue(IOUtils.toString( new FileInputStream( new File("src/test/resources/mailtemplates/default/imtest/imtest.properties")), "UTF-8"))); one(mailTemplateResourcesProvider).getResource(Arrays.asList("default/mail/"), "SHOP10", "en", "imtest", "test.gif"); will(returnValue(IOUtils.toByteArray(new FileInputStream( new File("src/test/resources/mailtemplates/default/imtest/resources/test.gif"))))); one(mailTemplateResourcesProvider).getResource(Arrays.asList("default/mail/"), "SHOP10", "en", "imtest", "test.jpeg"); will(returnValue(IOUtils.toByteArray(new FileInputStream( new File("src/test/resources/mailtemplates/default/imtest/resources/test.jpeg"))))); } }); // of course you would use DI in any real-world cases JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); MailComposerImpl mailComposer = new MailComposerImpl(mailTemplateResourcesProvider); mailComposer.composeMessage(message, "SHOP10", "en", Arrays.asList("default/mail/"), "imtest", "test@localhost.lo", "to@somedomain.com", "cc@somedomain.com", "bcc@somedomain.com", createModel()); assertTrue(helper.isMultipart()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("Bender lives in theme park with blackjack poetess")); assertTrue(str.contains("<h2>Bender</h2> lives in theme park with:<br> blackjack<br>poetess<br>")); assertTrue(str.contains("From: test@localhost.lo")); assertTrue(str.contains("To: to@somedomain.com")); assertTrue(str.contains("cc@somedomain.com")); assertTrue(str.contains("Bcc: bcc@somedomain.com")); assertEquals(" ?", message.getSubject()); mockery.assertIsSatisfied(); }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
@Test public void complexObjectNavigation() throws MessagingException, IOException, ClassNotFoundException { Map<String, Object> map = new HashMap<String, Object>(); map.put("root", new Pair("hi", "there")); String textTemplate = "$root.first $root.second"; JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); MailComposerImpl mailComposer = new MailComposerImpl(null); mailComposer.composeMessage(helper, textTemplate, null, Collections.EMPTY_LIST, "SHOP10", "en", "test", map);// w ww .j av a 2 s . co m ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("hi there")); }
From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java
/** * html only/* www .j a va 2 s.co m*/ */ @Test public void testConvertMailEntityToMimeMessage() throws MessagingException, IOException, ClassNotFoundException { // of course you would use DI in any real-world cases final Mail mail = new MailEntity(); mail.setShopCode("SHOP10"); mail.setSubject(" ?"); mail.setFrom("test@localhost.lo"); mail.setRecipients("to@somedomain.com"); mail.setCc("cc@somedomain.com"); mail.setBcc("bcc@somedomain.com"); mail.setTextVersion("Bender lives in theme park with blackjack poetess"); mail.setHtmlVersion("<h2>Bender</h2> lives in theme park with:<br> blackjack<br>poetess<br>"); JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("localhost"); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); MailComposerImpl mailComposer = new MailComposerImpl(null); mailComposer.convertMessage(mail, message); assertTrue(helper.isMultipart()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); helper.getMimeMessage().writeTo(byteArrayOutputStream); String str = byteArrayOutputStream.toString("UTF-8"); assertNotNull(str); // html and text present in mail message assertTrue(str.contains("Bender lives in theme park with blackjack poetess")); assertTrue(str.contains("<h2>Bender</h2> lives in theme park with:<br> blackjack<br>poetess<br>")); assertTrue(str.contains("From: test@localhost.lo")); assertTrue(str.contains("To: to@somedomain.com")); assertTrue(str.contains("cc@somedomain.com")); assertTrue(str.contains("Bcc: bcc@somedomain.com")); assertEquals(" ?", message.getSubject()); }
From source file:stroom.security.spring.SecurityConfiguration.java
@Bean(name = "mailSender") @Scope(StroomScope.PROTOTYPE)//from w ww .ja v a 2 s . c om public MailSender mailSender() { final String host = StroomProperties.getProperty("stroom.mail.host"); final int port = StroomProperties.getIntProperty("stroom.mail.port", 587); final String protocol = StroomProperties.getProperty("stroom.mail.protocol", "smtp"); final String userName = StroomProperties.getProperty("stroom.mail.userName"); final String password = StroomProperties.getProperty("stroom.mail.password"); String propertiesFile = StroomProperties.getProperty("stroom.mail.propertiesFile"); final JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost(host); javaMailSender.setPort(port); javaMailSender.setProtocol(protocol); if (!StringUtils.isEmpty(userName)) { javaMailSender.setUsername(userName); } if (!StringUtils.isEmpty(password)) { javaMailSender.setPassword(password); } if (!StringUtils.isEmpty(propertiesFile)) { propertiesFile = propertiesFile.replaceAll("~", System.getProperty("user.home")); final File file = new File(propertiesFile); if (file.isFile()) { try (FileInputStream fis = new FileInputStream(file)) { final Properties properties = new Properties(); properties.load(fis); javaMailSender.setJavaMailProperties(properties); } catch (final IOException e) { LOGGER.warn("Unable to load mail properties '" + propertiesFile + "'"); } } else { LOGGER.warn("Mail properties not found at '" + propertiesFile + "'"); } } return javaMailSender; }