2017-03-06 2 views
0
public static void sendEmail(String msgHeader, String msg, String emailId, String emailFrom) { 
    Properties props = new Properties(); 
    props.put("mail.smtp.auth", "false"); 
    props.put("mail.debug", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.host", mailServer); 
    props.put("mail.smtp.port", port#); 
    props.put("mail.smtp.auth.mechanisms", "NTLM"); 
    props.put("mail.smtp.auth.ntlm.domain", domainName); 

    Session session = Session.getDefaultInstance(props, null); 
    try { 
     MimeMessage message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(emailFrom)); 
     to = emailId; 
     message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); 
     message.setSubject(msgHeader); 

     message.setText(msg, "utf-8", "html"); 

     message.saveChanges(); 
     session.getDebug(); 
     Transport.send(message); 
     // Copy message to "Sent Items" folder as read 
     Store store = session.getStore("ntlm"); 
     store.connect(mailServer, emailFrom, pwd); 
     Folder folder = store.getFolder("Sent Items"); 
     folder.open(Folder.READ_WRITE); 
     message.setFlag(Flag.SEEN, true); 
     folder.appendMessages(new Message[] {message}); 
     store.close(); 
    } catch (Exception ex) { 
     logger.error("Error occured while sending Email !", ex); 
    } 
} 

위 코드를 실행하려고하면 전자 메일을 보낼 수 있습니다. 문제는 이메일을 저장하는 것입니다. 줄에서 오류 (NoSuchProviderException)가 발생합니다. Store store = session.getStore ("ntlm"); 일부를 전송저장 javax 메일을 사용하여 보낸 편지함 폴더로 전자 메일을 보냈습니다.

  1. 이메일 작동 NTLM과 암호 확인없이 -이 :

    나는이에 대한 몇 가지 질문이 있습니다. 보낸 사람 전자 메일을 암호로 확인하지 않고 보낸 편지함 폴더에 저장할 수 있습니까? 그렇다면 어떻게?
  2. 을 사용하면 session.getStore가 작동하지 않습니다. smtp - 예외 (잘못된 공급자) b. ntlm - 예외 (NoSuchProviderException) 여기서 무엇을 사용해야합니까?

미리 도움을 주셔서 감사합니다.

+0

javax.mail 항아리의 버전은 무엇입니까? – Maverick

+0

package javax.mail; 클래스 버전 { public static final String version = "1.4.6"; } – hnsanadhya

+0

내 jar의 이름은 mailapi.jar이며 meta-inf의 LICENSE.txt 파일에는 나열된 버전이 1.0입니다. – hnsanadhya

답변

관련 문제