/** * Does the work of actually building the MimeMessage. * * @see org.apache.commons.mail.HtmlEmail#buildMimeMessage() * @throws EmailException building the MimeMessage failed */ @Override public void buildMimeMessage() throws EmailException { try { // embed all the matching image and script resources within the email String temp = replacePattern(super.html, IMG_PATTERN); temp = replacePattern(temp, SCRIPT_PATTERN); setHtmlMsg(temp); super.buildMimeMessage(); } catch (final IOException e) { throw new EmailException("Building the MimeMessage failed", e); } }
/** * Does the work of actually building the MimeMessage. * * @see org.apache.commons.mail.HtmlEmail#buildMimeMessage() * @throws EmailException building the MimeMessage failed */ @Override public void buildMimeMessage() throws EmailException { try { // embed all the matching image and script resources within the email String temp = replacePattern(super.html, IMG_PATTERN); temp = replacePattern(temp, SCRIPT_PATTERN); setHtmlMsg(temp); super.buildMimeMessage(); } catch (final IOException e) { throw new EmailException("Building the MimeMessage failed", e); } }
private void assertCorrectContentType(final String picture, final String contentType) throws Exception { final HtmlEmail htmlEmail = createDefaultHtmlEmail(); final String cid = htmlEmail.embed(new File("./src/test/resources/images/" + picture), "Apache Logo"); final String htmlMsg = "<html><img src=\"cid:" + cid + "\"><html>"; htmlEmail.setHtmlMsg(htmlMsg); htmlEmail.buildMimeMessage(); final MimeMessage mm = htmlEmail.getMimeMessage(); mm.saveChanges(); final MimeMessageParser mmp = new MimeMessageParser(mm); mmp.parse(); final List<?> attachments = mmp.getAttachmentList(); assertEquals("Attachment size", 1, attachments.size()); final DataSource ds = (DataSource) attachments.get(0); assertEquals("Content type", contentType, ds.getContentType()); }
@Test public void testParseCreatedHtmlEmailWithNoContent() throws Exception { final Session session = Session.getDefaultInstance(new Properties()); final HtmlEmail email = new HtmlEmail(); email.setMailSession(session); email.setFrom("test_from@apache.org"); email.setSubject("Test Subject"); email.addTo("test_to@apache.org"); email.buildMimeMessage(); final MimeMessage msg = email.getMimeMessage(); final MimeMessageParser mimeMessageParser = new MimeMessageParser(msg); mimeMessageParser.parse(); assertEquals("Test Subject", mimeMessageParser.getSubject()); assertNotNull(mimeMessageParser.getMimeMessage()); assertTrue(mimeMessageParser.isMultipart()); assertFalse(mimeMessageParser.hasHtmlContent()); assertFalse(mimeMessageParser.hasPlainContent()); assertNull(mimeMessageParser.getPlainContent()); assertNull(mimeMessageParser.getHtmlContent()); assertTrue(mimeMessageParser.getTo().size() == 1); assertTrue(mimeMessageParser.getCc().size() == 0); assertTrue(mimeMessageParser.getBcc().size() == 0); assertEquals("test_from@apache.org", mimeMessageParser.getFrom()); assertEquals("test_from@apache.org", mimeMessageParser.getReplyTo()); assertFalse(mimeMessageParser.hasAttachments()); }
@Test public void testParseCreatedHtmlEmailWithTextContent() throws Exception { final Session session = Session.getDefaultInstance(new Properties()); final HtmlEmail email = new HtmlEmail(); email.setMailSession(session); email.setFrom("test_from@apache.org"); email.setSubject("Test Subject"); email.addTo("test_to@apache.org"); email.setTextMsg("My test message"); email.buildMimeMessage(); final MimeMessage msg = email.getMimeMessage(); final MimeMessageParser mimeMessageParser = new MimeMessageParser(msg); mimeMessageParser.parse(); assertEquals("Test Subject", mimeMessageParser.getSubject()); assertNotNull(mimeMessageParser.getMimeMessage()); assertTrue(mimeMessageParser.isMultipart()); assertFalse(mimeMessageParser.hasHtmlContent()); assertTrue(mimeMessageParser.hasPlainContent()); assertNotNull(mimeMessageParser.getPlainContent()); assertNull(mimeMessageParser.getHtmlContent()); assertTrue(mimeMessageParser.getTo().size() == 1); assertTrue(mimeMessageParser.getCc().size() == 0); assertTrue(mimeMessageParser.getBcc().size() == 0); assertEquals("test_from@apache.org", mimeMessageParser.getFrom()); assertEquals("test_from@apache.org", mimeMessageParser.getReplyTo()); assertFalse(mimeMessageParser.hasAttachments()); }
@Test public void testParseCreatedHtmlEmailWithMixedContent() throws Exception { final Session session = Session.getDefaultInstance(new Properties()); final HtmlEmail email = new HtmlEmail(); email.setMailSession(session); email.setFrom("test_from@apache.org"); email.setSubject("Test Subject"); email.addTo("test_to@apache.org"); email.setTextMsg("My test message"); email.setHtmlMsg("<p>My HTML message</p>"); email.buildMimeMessage(); final MimeMessage msg = email.getMimeMessage(); final MimeMessageParser mimeMessageParser = new MimeMessageParser(msg); mimeMessageParser.parse(); assertEquals("Test Subject", mimeMessageParser.getSubject()); assertNotNull(mimeMessageParser.getMimeMessage()); assertTrue(mimeMessageParser.isMultipart()); assertTrue(mimeMessageParser.hasHtmlContent()); assertTrue(mimeMessageParser.hasPlainContent()); assertNotNull(mimeMessageParser.getPlainContent()); assertNotNull(mimeMessageParser.getHtmlContent()); assertTrue(mimeMessageParser.getTo().size() == 1); assertTrue(mimeMessageParser.getCc().size() == 0); assertTrue(mimeMessageParser.getBcc().size() == 0); assertEquals("test_from@apache.org", mimeMessageParser.getFrom()); assertEquals("test_from@apache.org", mimeMessageParser.getReplyTo()); assertFalse(mimeMessageParser.hasAttachments()); }