package com.fsck.k9.message; import com.fsck.k9.mail.Body; import com.fsck.k9.mail.BodyPart; import com.fsck.k9.mail.Message; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.internet.MimeBodyPart; import com.fsck.k9.mail.internet.MimeHeader; import com.fsck.k9.mail.internet.MimeMessage; import com.fsck.k9.mail.internet.MimeMultipart; import com.fsck.k9.mail.internet.TextBody; import com.fsck.k9.mailstore.BinaryMemoryBody; public class MessageCreationHelper { public static BodyPart createTextPart(String mimeType) throws MessagingException { return createTextPart(mimeType, ""); } public static BodyPart createTextPart(String mimeType, String text) throws MessagingException { TextBody body = new TextBody(text); return new MimeBodyPart(body, mimeType); } public static BodyPart createEmptyPart(String mimeType) throws MessagingException { return new MimeBodyPart(null, mimeType); } public static BodyPart createPart(String mimeType) throws MessagingException { BinaryMemoryBody body = new BinaryMemoryBody(new byte[0], "utf-8"); return new MimeBodyPart(body, mimeType); } public static BodyPart createMultipart(String mimeType, BodyPart... parts) throws MessagingException { MimeMultipart multipart = createMultipartBody(mimeType, parts); return new MimeBodyPart(multipart, mimeType); } public static Message createTextMessage(String mimeType, String text) throws MessagingException { TextBody body = new TextBody(text); return createMessage(mimeType, body); } public static Message createMultipartMessage(String mimeType, BodyPart... parts) throws MessagingException { MimeMultipart body = createMultipartBody(mimeType, parts); return createMessage(mimeType, body); } public static Message createMessage(String mimeType) throws MessagingException { return createMessage(mimeType, null); } private static Message createMessage(String mimeType, Body body) throws MessagingException { MimeMessage message = new MimeMessage(); message.setBody(body); message.setHeader(MimeHeader.HEADER_CONTENT_TYPE, mimeType); return message; } private static MimeMultipart createMultipartBody(String mimeType, BodyPart[] parts) throws MessagingException { MimeMultipart multipart = new MimeMultipart(mimeType, "boundary"); for (BodyPart part : parts) { multipart.addBodyPart(part); } return multipart; } }