2012-01-12 5 views
3

SSL 연결을 사용하여 Gmail SMTP 서버를 통해 이메일 알림을 보내려고합니다. 그러나 아무 이메일도 얻지 않고있다. 심지어 오류가 거기에보고됩니다. 내 방법 send() 아래주고있다. 제발 도와주세요. 나는 JSF2를 사용하고 있습니다.SSL 연결을 사용하여 Gmail SMTP 서버를 통해 이메일 알림 보내기

public void send() 
{ 
    Properties props = new Properties(); 
    props.put("mail.smtp.host", "smtp.gmail.com"); 
    props.put("mail.smtp.socketFactory.port", "465"); 
    props.put("mail.smtp.socketFactory.class", 
      "javax.net.ssl.SSLSocketFactory"); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.port", "465"); 

    Session session = Session.getDefaultInstance(props, 
      new javax.mail.Authenticator() { 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication("userName","password"); 
     } 
    }); 

    try { 

     Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress("[email protected]")); 
     message.setRecipients(Message.RecipientType.TO, 
       InternetAddress.parse("[email protected]")); 
     message.setSubject("Testing Subject"); 
     message.setText("Dear Mail Crawler," + 
       "\n\n No spam to my email, please!"); 

     Transport.send(message); 

     System.out.println("Done"); 

    } catch (MessagingException e) { 
     throw new RuntimeException(e); 
    } 
} 
+2

JSF2와 정확히 어떻게 관련이 있습니까? 'main()'메쏘드를 가진 평범한 자바 애플리케이션에서 실행될 때 제대로 작동한다는 것을 암시하고 있습니까? 그것도 실패하더라도 JSF2와 완전히 관련이 없으며 JSF2 태그를 제거해야합니다. – BalusC

+0

Ok.But 이것은'main()'에 없습니다. 나는 이걸'send()'라고 어딘가에 부르고 있었다. – NaaN

+2

당신이 날 이해하지 못했을 것 같아요. 이 코드를'main()'메쏘드 안에 복사하고 그것을 보통의 자바 애플리케이션처럼 실행하십시오. 똑같은 문제가 발생하면 JSF2와 전혀 관련이 없습니다. 결국, 일반적인 Java 응용 프로그램으로 실행하면 훨씬 빠르고 쉽게 개발/테스트 할 수 있습니다. 일단 작동 시키면 JSF2 액션 메소드에서 독립형 Java 클래스를 가져 오거나 호출하는 것만으로하면된다. – BalusC

답변

관련 문제