// -- Private methods private MimeMessage createMimeMessage( MailController controller, Session session, OptionService os) throws MessagingException { MimeMessage msg = new MimeMessage(session); setSender(msg, os); setReplyTo(controller, msg); setFrom(controller, msg, os); addRecipients(controller, msg); setSubject(controller, msg); Multipart content = new MimeMultipart(); msg.setContent(content); /* Text */ String body = controller.getBody(); if (!StringUtil.isEmpty(body)) { MimeBodyPart part = new MimeBodyPart(); part.setContent(body, controller.getContentType()); content.addBodyPart(part); } /* Attachments */ List<File> attachments = controller.getAttachments(); if (!attachments.isEmpty()) { for (File attachment : attachments) { MimeBodyPart part = new MimeBodyPart(); DataSource source = new FileDataSource(attachment); part.setDataHandler(new DataHandler(source)); part.setFileName(attachment.getName()); content.addBodyPart(part); } } return msg; }