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

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

Introduction

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

Prototype

@Override
public MimeMessage createMimeMessage() 

Source Link

Document

This implementation creates a SmartMimeMessage, holding the specified default encoding and default FileTypeMap.

Usage

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  w w  w .j  a  va  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);/*from www  . ja  va  2  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 ww  w.ja v a  2 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());

}