private void addText(MultipartBuilder builder, Optional<String> textBody) throws IOException { if (textBody.isPresent()) { builder.addBodyPart(BodyPartBuilder.create() .use(bodyFactory) .setBody(textBody.get(), StandardCharsets.UTF_8) .setContentType(PLAIN_TEXT_MEDIA_TYPE, UTF_8_CHARSET) .setContentTransferEncoding(QUOTED_PRINTABLE)); } }
private void addHtml(MultipartBuilder builder, Optional<String> htmlBody) throws IOException { if (htmlBody.isPresent()) { builder.addBodyPart(BodyPartBuilder.create() .use(bodyFactory) .setBody(htmlBody.get(), StandardCharsets.UTF_8) .setContentType(HTML_MEDIA_TYPE, UTF_8_CHARSET) .setContentTransferEncoding(QUOTED_PRINTABLE)); } }
private Multipart asMime4JMultipart() throws IOException { MultipartBuilder builder = MultipartBuilder.create(REPORT_SUB_TYPE); builder.addContentTypeParameter(new NameValuePair("report-type", DISPOSITION_NOTIFICATION_REPORT_TYPE)); builder.addBodyPart(BodyPartBuilder.create() .use(new BasicBodyFactory()) .setBody(humanReadableText, Charsets.UTF_8) .setContentType("text/plain", UTF_8_CHARSET)); builder.addBodyPart(BodyPartBuilder.create() .use(new BasicBodyFactory()) .setBody(report.formattedValue(), Charsets.UTF_8) .setContentType(DISPOSITION_CONTENT_TYPE, UTF_8_CHARSET)); return builder.build(); }
private BodyPart attachmentBodyPart(MessageAttachment att) throws IOException { BodyPartBuilder builder = BodyPartBuilder.create() .use(bodyFactory) .setBody(new BasicBodyFactory().binaryBody(ByteStreams.toByteArray(att.getAttachment().getStream()))) .setField(contentTypeField(att)) .setField(contentDispositionField(att.isInline())) .setContentTransferEncoding(BASE64); contentId(builder, att); return builder.build(); }
.setBody(MultipartBuilder.create("mixed") .addBodyPart(BodyPartBuilder.create() .use(bodyFactory) .setBody("This is the first part of the template..", Charsets.UTF_8) .setContentTransferEncoding("quoted-printable") .build()) .addBodyPart(BodyPartBuilder.create() .use(bodyFactory) .setBody(createRandomBinary(200), "application/octet-stream") .setContentTransferEncoding("base64") .build()) .addBodyPart(BodyPartBuilder.create() .use(bodyFactory) .setBody(createRandomBinary(300), "application/octet-stream") .setContentTransferEncoding("base64") String text = "Text inserted after part " + (i + 1); BodyPart bodyPart = BodyPartBuilder.create() .use(bodyFactory) .setBody(text, Charsets.UTF_8) .setContentTransferEncoding("quoted-printable")