/** * @see #attachment(EmailAttachment) */ public T attachment(final EmailAttachmentBuilder builder) { return attachment(builder.buildByteArrayDataSource()); }
/** * Attaches the embedded attachment: Content ID will be set if missing from attachment's file name. * * @param builder {@link EmailAttachmentBuilder} * @return this * @see #embeddedAttachment(EmailAttachment) */ public T embeddedAttachment(final EmailAttachmentBuilder builder) { builder.setContentIdFromNameIfMissing(); // https://github.com/oblac/jodd/issues/546 // https://github.com/oblac/jodd/issues/404#issuecomment-297011351 // content disposition will be set to "inline" builder.inline(true); return embeddedAttachment(builder.buildByteArrayDataSource()); }
/** * Adds received attachment. * * @param part {@link Part}. * @param content Content as byte array. * @return this * @see #attachment(EmailAttachment) */ private ReceivedEmail addAttachment(final Part part, final byte[] content) throws MessagingException { final EmailAttachmentBuilder builder = addAttachmentInfo(part); builder.content(content, part.getContentType()); final EmailAttachment<ByteArrayDataSource> attachment = builder.buildByteArrayDataSource(); attachment.setSize(content.length); return storeAttachment(attachment); }
/** * Adds received attachment. * * @param part {@link Part}. * @param content Content as {@link InputStream}. * @return this * @see #attachment(EmailAttachment) */ private ReceivedEmail addAttachment(final Part part, final InputStream content, final File attachmentStorage) throws MessagingException, IOException { final EmailAttachmentBuilder builder = addAttachmentInfo(part); builder.content(content, part.getContentType()); if (attachmentStorage != null) { String name = messageId + "-" + (this.attachments().size() + 1); return storeAttachment(builder.buildFileDataSource(name, attachmentStorage)); } return storeAttachment(builder.buildByteArrayDataSource()); }
@Test void testTextHtmlEmbedAttach2() throws MessagingException, IOException { final Email email = new Email(); email.from(FROM_EXAMPLE_COM); email.to(TO_EXAMPLE_COM); email.subject(SUB); final EmailMessage testMessage = new EmailMessage(HELLO, MimeTypes.MIME_TEXT_PLAIN); email.message(testMessage); final EmailMessage htmlMessage = new EmailMessage( "<html><body><h1>Hey!</h1><img src='cid:c.png'></body></html>", MimeTypes.MIME_TEXT_HTML); email.message(htmlMessage); final EmailAttachment<ByteArrayDataSource> embeddedAttachment = EmailAttachment.with() .content(BYTES_1_7, IMAGE_PNG) .name(C_PNG) .contentId(C_PNG) .inline(true) .buildByteArrayDataSource(); embeddedAttachment.setEmbeddedMessage(htmlMessage); email.embeddedAttachment(embeddedAttachment); final EmailAttachmentBuilder attachmentBuilder = EmailAttachment.with() .content(BYTES_11_15, APPLICATION_ZIP) .name(FILE_ZIP) .contentId(FILE_ZIP); email.attachment(attachmentBuilder); assertEmail(email); }
/** * @see #attachment(EmailAttachment) */ public T attachment(final EmailAttachmentBuilder builder) { return attachment(builder.buildByteArrayDataSource()); }
/** * Attaches the embedded attachment: Content ID will be set if missing from attachment's file name. * * @param builder {@link EmailAttachmentBuilder} * @return this * @see #embeddedAttachment(EmailAttachment) */ public T embeddedAttachment(final EmailAttachmentBuilder builder) { builder.setContentIdFromNameIfMissing(); // https://github.com/oblac/jodd/issues/546 // https://github.com/oblac/jodd/issues/404#issuecomment-297011351 // content disposition will be set to "inline" builder.inline(true); return embeddedAttachment(builder.buildByteArrayDataSource()); }
/** * Adds received attachment. * * @param part {@link Part}. * @param content Content as byte array. * @return this * @see #attachment(EmailAttachment) */ private ReceivedEmail addAttachment(final Part part, final byte[] content) throws MessagingException { final EmailAttachmentBuilder builder = addAttachmentInfo(part); builder.content(content, part.getContentType()); final EmailAttachment<ByteArrayDataSource> attachment = builder.buildByteArrayDataSource(); attachment.setSize(content.length); return storeAttachment(attachment); }
/** * Adds received attachment. * * @param part {@link Part}. * @param content Content as {@link InputStream}. * @return this * @see #attachment(EmailAttachment) */ private ReceivedEmail addAttachment(final Part part, final InputStream content, final File attachmentStorage) throws MessagingException, IOException { final EmailAttachmentBuilder builder = addAttachmentInfo(part); builder.content(content, part.getContentType()); if (attachmentStorage != null) { String name = messageId + "-" + (this.attachments().size() + 1); return storeAttachment(builder.buildFileDataSource(name, attachmentStorage)); } return storeAttachment(builder.buildByteArrayDataSource()); }