JAMES-2363 MessageAlteringUtils mime multipart creation should be extracted
This makes reading easier Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ce04a357 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ce04a357 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ce04a357 Branch: refs/heads/master Commit: ce04a3576317247ee8830a1c04a35a272fc69135 Parents: 4559beb Author: benwa <[email protected]> Authored: Thu Mar 29 11:05:07 2018 +0700 Committer: benwa <[email protected]> Committed: Thu Mar 29 16:43:37 2018 +0700 ---------------------------------------------------------------------- .../mailets/redirect/MessageAlteringUtils.java | 48 +++++++++++--------- 1 file changed, 27 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ce04a357/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MessageAlteringUtils.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MessageAlteringUtils.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MessageAlteringUtils.java index 21f5b08..2599346 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MessageAlteringUtils.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/MessageAlteringUtils.java @@ -93,28 +93,8 @@ public class MessageAlteringUtils { String head = new MimeMessageUtils(originalMessage).getMessageHeaders(); try { - // Create the message body - MimeMultipart multipart = new MimeMultipart("mixed"); + MimeMultipart multipart = generateMultipartContent(originalMessage, head); - // Create the message - MimeMultipart mpContent = new MimeMultipart("alternative"); - mpContent.addBodyPart(getBodyPart(originalMail, originalMessage, head)); - - MimeBodyPart contentPartRoot = new MimeBodyPart(); - contentPartRoot.setContent(mpContent); - - multipart.addBodyPart(contentPartRoot); - - if (mailet.getInitParameters().isDebug()) { - LOGGER.debug("attachmentType:{}", mailet.getInitParameters().getAttachmentType()); - } - if (!mailet.getInitParameters().getAttachmentType().equals(TypeCode.NONE)) { - multipart.addBodyPart(getAttachmentPart(originalMessage, head)); - } - - if (mailet.getInitParameters().isAttachError() && originalMail.getErrorMessage() != null) { - multipart.addBodyPart(getErrorPart(originalMail)); - } newMessage.setContent(multipart); newMessage.setHeader(RFC2822Headers.CONTENT_TYPE, multipart.getContentType()); return newMessage; @@ -123,6 +103,32 @@ public class MessageAlteringUtils { } } + private MimeMultipart generateMultipartContent(MimeMessage originalMessage, String head) throws Exception { + // Create the message body + MimeMultipart multipart = new MimeMultipart("mixed"); + + // Create the message + MimeMultipart mpContent = new MimeMultipart("alternative"); + mpContent.addBodyPart(getBodyPart(originalMail, originalMessage, head)); + + MimeBodyPart contentPartRoot = new MimeBodyPart(); + contentPartRoot.setContent(mpContent); + + multipart.addBodyPart(contentPartRoot); + + if (mailet.getInitParameters().isDebug()) { + LOGGER.debug("attachmentType:{}", mailet.getInitParameters().getAttachmentType()); + } + if (!mailet.getInitParameters().getAttachmentType().equals(TypeCode.NONE)) { + multipart.addBodyPart(getAttachmentPart(originalMessage, head)); + } + + if (mailet.getInitParameters().isAttachError() && originalMail.getErrorMessage() != null) { + multipart.addBodyPart(getErrorPart(originalMail)); + } + return multipart; + } + private BodyPart getBodyPart(Mail originalMail, MimeMessage originalMessage, String head) throws MessagingException, Exception { MimeBodyPart part = new MimeBodyPart(); part.setText(getText(originalMail, originalMessage, head)); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
