2009-07-27 2 views
0

Javamail API를 사용하여 Java 코드에서 전자 메일을 보내려고합니다. 특정 라인에서 문제가 발생합니다. 코드Java에서 전자 메일을 보내려는 연결 예외

부분은 :

URLConnection c = u.openConnection();   
c.setDoInput(false);        
c.setDoOutput(true);    
c.connect(); 

오류가 c.connect 코드() 라인에서 발생된다. 내가 얻는 오류는 다음과 같습니다.

connect. Timeout = -1 

java.net.ConnectException: Connection refused: connect 

그리고 이것은 내가 얻은 모든 것입니다. 이 문제를 해결하는 방법을 모르겠습니다. 도와주세요.

+0

왜 URLConnection을 사용하여 전자 메일을 보내고 있습니까? – skaffman

답변

1

이메일을 보내는 방법에 대한 예제를 보려면 this page을보십시오. 전자 메일을 보내려면 Transport 클래스를 사용해야합니다.

public static void send(String smtpServer, String to, String from 
    , String subject, String body) throws Exception 
    { 

     Properties props = System.getProperties(); 
     // -- Attaching to default Session, or we could start a new one -- 
     props.put("mail.smtp.host", smtpServer); 
     Session session = Session.getDefaultInstance(props, null); 
     // -- Create a new message -- 
     Message msg = new MimeMessage(session); 
     // -- Set the FROM and TO fields -- 
     msg.setFrom(new InternetAddress(from)); 
     msg.setRecipients(Message.RecipientType.TO, 
     InternetAddress.parse(to, false)); 
     // -- We could include CC recipients too -- 
     // if (cc != null) 
     // msg.setRecipients(Message.RecipientType.CC 
     // ,InternetAddress.parse(cc, false)); 
     // -- Set the subject and body text -- 
     msg.setSubject(subject); 
     msg.setText(body); 
     // -- Set some other header information -- 
     msg.setHeader("X-Mailer", "LOTONtechEmail"); 
     msg.setSentDate(new Date()); 
     // -- Send the message -- 
     Transport.send(msg); 
     System.out.println("Message sent OK."); 
    } 

편집 : 때문에 의견의

이 ...

확인 누군가 블록 포트 25 (방화벽, 다른 응용 프로그램)

인증이 또한 문제가 될 수 있다면 , 당신은 좋은 exampl을 찾을 수보다 here

props.put("mail.smtp.auth", "true"); 
Authenticator auth = new SMTPAuthenticator("[email protected]", "mypassword"); 
+0

나는 이와 같은 예를 시도했지만 "SMTP 호스트에 연결할 수 없습니다 : ... 포트 : 25"오류가 발생하고 Transport.sned (msg) 줄에서 발생합니다. –

+0

그런 다음 다시 시도하십시오. 연결 속성을 확인하십시오. 방화벽이 있는지 확인하십시오. 이것은 그것을하는 방법입니다. – Stroboskop