Example usage for org.springframework.mail.javamail MimeMessageHelper isMultipart

List of usage examples for org.springframework.mail.javamail MimeMessageHelper isMultipart

Introduction

In this page you can find the example usage for org.springframework.mail.javamail MimeMessageHelper isMultipart.

Prototype

public final boolean isMultipart() 

Source Link

Document

Return whether this helper is in multipart mode, i.e.

Usage

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());
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    helper.getMimeMessage().writeTo(byteArrayOutputStream);
    String str = byteArrayOutputStream.toString("UTF-8");
    assertNotNull(str);/*from   ww w. ja v  a2  s  .  com*/
    // 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 w w  . ja v  a  2s .c om*/
 */
@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  w ww  .  j  av a  2s  .c  o  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() {
        {// w  w w .  j a v a 2s .  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

/**
 * html only// w w  w .  j  a v a  2s .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());

}