2017-05-06 8 views
0

내 자바 코드에 icalender 초대장을 동적으로 생성합니다. 이제이 icalender 초대장을 내 서버에 파일로 저장하지 않고 메일 첨부 파일로 보내려고합니다.자바 메일 API에서 캘린더 초대장을 메일 첨부 파일로 전송

어떻게하면됩니까?

내 코드는 다음과 같습니다


public static void sendNow(String subject, String[] toArray, String[] ccArray, BodyPart bodyPart, BodyPart headerPart, List <MimeMessage> attachments) { 
      MimeMessage message = new MimeMessage(getMimeSession()); 
      // Add From Email id 
      // Add TO receipients 
      // Add CC receipients 
      // SET Subject 

      // Create a Multipart 
      Multipart multipart = new MimeMultipart(); 
      if (null != bodyPart) { 
       multipart.addBodyPart(bodyPart); 
      } 
      if (null != headerPart) { 
       multipart.addBodyPart(headerPart); 
      } 
      // Attaching MIMEMessage as attachment - IT IS NOT WORKING 
       if(null != attachments) { 

       //attach meeting invitation 
       for (MimeMessage attach : attachments) { 
        message.setDataHandler(attach.getDataHandler()); 
        message.setFileName(attach.getSubject() + ".ics"); 
       } 
      } 
      // Put parts in message 
      message.setContent(multipart); 
      // SEND 

}

답변

0

메모리에 데이터를 생성하고 메시지에 첨부하는 DataHandler에 함께 ByteArrayDataSource를 사용합니다.