Example usage for org.springframework.mail.javamail JavaMailSenderImpl setHost

List of usage examples for org.springframework.mail.javamail JavaMailSenderImpl setHost

Introduction

In this page you can find the example usage for org.springframework.mail.javamail JavaMailSenderImpl setHost.

Prototype

public void setHost(@Nullable String host) 

Source Link

Document

Set the mail server host, typically an SMTP host.

Usage

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 va 2s .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("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//from   w ww  .  ja va  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 va2s. 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() {
        {/* ww  w  . j  a  v a2  s  . c  o  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);/*from  w  ww .j  av 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("hi there"));
}

From source file:org.yes.cart.service.mail.impl.MailComposerImplTest.java

/**
 * html only/*from w  ww .  ja v a2 s .  c om*/
 */
@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)/*w ww. j ava2s.  co m*/
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;
}