Esempio n. 1
0
  private void addAttachments(Multipart multipart, List<Attachment> attachments)
      throws MessagingException {
    for (Attachment attachment : attachments) {
      BasicViewRenderer response = render(attachment.view());
      byte[] base64Encoded = Base64.encodeToByte(response.getOutputAsBytes());

      InternetHeaders headers = new InternetHeaders();
      headers.addHeader(Header.ContentType, response.getContentType());
      headers.addHeader(Header.ContentTransferEncoding, "base64");

      MimeBodyPart part = new MimeBodyPart(headers, base64Encoded);
      part.setFileName(attachment.name());
      part.setDisposition(attachment.disposition().value());

      if (attachment.isInline()) {
        part.setContentID(attachment.contentId());
      }

      multipart.addBodyPart(part);
    }
  }