2017-12-01 6 views
1

첨부 파일이있는 .eml 형식으로 전자 메일을 저장하려고합니다. .eml을 저장할 수는 있지만 열 때 사용자가 입력 할 수 있어야하는 초안 형식으로 열어야하며 주제와 전자 메일 본문도 편집해야합니다. Curently 나는 저장된 .eml 파일을 수동으로 편집하여 X-Unsent : 1을 추가하여 초안으로 표시해야합니다. 어떻게 mimeMessage의 속성을 사용하면 코드에서이 작업을 수행 할 수 있습니까?전자 메일을 X-Unsent로 저장하는 방법 : 1 Message.writeTo를 사용하여

public static void createMessage(String to, String from, String subject, String body, List<File> attachments) { 
try { 
    Message message = new MimeMessage(Session.getInstance(System.getProperties())); 
    message.setFrom(new InternetAddress(from)); 
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); 
    message.setSubject(subject); 
    // create the message part 
    MimeBodyPart content = new MimeBodyPart(); 
    // fill message 
    content.setText(body); 
    Multipart multipart = new MimeMultipart(); 
    multipart.addBodyPart(content); 
    // add attachments 
    for(File file : attachments) { 
     MimeBodyPart attachment = new MimeBodyPart(); 
     DataSource source = new FileDataSource(file); 
     attachment.setDataHandler(new DataHandler(source)); 
     attachment.setFileName(file.getName()); 
     multipart.addBodyPart(attachment); 
    } 
    // integration 
    message.setContent(multipart); 
    // store file 
    message.writeTo(new FileOutputStream(new File("c:/mail.eml"))); 
} catch (MessagingException ex) { 
    Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex); 
} catch (IOException ex) { 
    Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex); 
} 

}

답변

0

방법에 대한이 줄을 추가 :

message.setHeader("X-Unsent", "1");