2014-09-23 4 views
0

smtp.gmail.com 호스트로 메일을 보낼 수는 있지만 smtp.live.com으로는 메일을 보낼 수 없습니다. 호스트와 465, 25 및 587 포트.javamail 코드를 사용하여 Outlook (hotmail 계정) 구성으로 메일을 보낼 수 없지만 잘 작동하는 Gmail에서

내 구성 파일 내가 코드 아래 사용하여 메일을 보내고

mail.smtp.host=smtp.live.com 
mail.smtp.socketFactory.port=587 
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory 
mail.smtp.auth=true 
mail.smtp.port=587 

입니다.

Properties props = new Properties(); 
      try {      props.load(UtilEmail.class.getResourceAsStream("properties/email.properties"));    
      } catch (IOException e1) { 
       StringWriter stack = new StringWriter(); 
       e1.printStackTrace(new PrintWriter(stack)); 
       log.error(stack.toString()); 
      } 

      final String user_name=<<my email address>>; 
      final String password="<<my password>>"; 
      Session session = Session.getInstance(props, 
         new javax.mail.Authenticator() { 
         protected PasswordAuthentication getPasswordAuthentication() { 
          return new PasswordAuthentication(user_name,password); 
         } 
         }); 


      Message message = new MimeMessage(session); 
      message.setFrom(new InternetAddress(user_name,title)); 
      message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); 
      message.setSubject(subject); 
      message.setContent(body,"text/html"); 
      Transport.send(message); 

그리고 난 예외

내가 너무 당신은 SSL없이 보안 암호화 된 채널에 연결을 시도 할 때 발생하는이 문제에 직면했다
ERROR: util.UtilEmail - javax.mail.MessagingException: Could not connect to SMTP host: smtp.live.com, port: 587; 
    nested exception is: 
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525) 
    at javax.mail.Service.connect(Service.java:313) 
    at javax.mail.Service.connect(Service.java:172) 
    at javax.mail.Service.connect(Service.java:121) 
    at javax.mail.Transport.send0(Transport.java:190) 
    at javax.mail.Transport.send(Transport.java:120) 
    at org.snapsboard.core.util.UtilEmail.send(UtilEmail.java:49) 
    at org.snapsboard.core.email.EmailService.inviteUserToJoinEvent(EmailService.java:315) 
    at org.snapsboard.api.event.sendInvitaionMailUsringThread.run(sendInvitaionMailUsringThread.java:27) 
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:694) 
    at sun.security.ssl.InputRecord.read(InputRecord.java:527) 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) 
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:503) 
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:234) 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672) 
    ... 9 more 

답변

0

아래 점점. 이 문제를 해결하려면 속성을 추가해야합니다.

mail.smtp.ssl.enable "true" 

이 구성 후 인증서 문제가 발생하면 트러스트 저장소에 서버 인증서를 가져와야합니다.