2011-08-04 2 views
0

Apache commons mail API를 사용하여 Java 프로그램을 통해 전자 메일을 보냅니다.Apache 전자 메일 API : 예외 수신 - 잘못된 '받는 사람'주소

다음은 자바 코드입니다.

public static void sendSimpleMail() throws Exception { 
    Email email = new SimpleEmail(); 
    email.setSmtpPort(25); 
    email.setDebug(false); 
    email.setHostName("localhost"); 
    email.setFrom("[email protected]");  // Is this correct ?Do we need this? 
    email.setSubject("Hi"); 
    email.setMsg("This is a test mail ... :-)"); 
    email.addTo("[email protected]"); 
    email.setTLS(true); 
    email.send(); 
    System.out.println("Mail sent!"); 
} 

은 내가 Free SMTP server가 유효한 DNS 서버를 사용하여 포트 25에서 실행해야합니다.

이제 프로그램을 실행할 때 다음 예외가 발생합니다.

Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : localhost:25 
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242) 
at org.apache.commons.mail.Email.send(Email.java:1267) 
at TestMail.sendSimpleMail(TestMail.java:26) 
at TestMail.main(TestMail.java:13) 
Caused by: com.sun.mail.smtp.SMTPSendFailedException: 
    550 Invalid recipient:  [email protected] 

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388) 
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1215) 
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:586) 
at javax.mail.Transport.send0(Transport.java:169) 
at javax.mail.Transport.send(Transport.java:98) 
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232) 
... 3 more 

이제 내 이메일 ID는 매우 유효한 이메일 ID입니다. 왜 프로그램에 오류가 있습니까?

+0

로컬 서버가 실행 중이며 인터넷에 보낼 수 있습니까? – timbooo

+0

예. 그것은. 그러나 문제는 다른 것으로 보인다. 그것이 말하는 것처럼, '주소 지정이 잘못되었습니다' – vinoth

답변

0

550은 표준 SMTP 오류 코드이므로 SMTP 서버 구성 내의 어딘가에 문제가있는 것 같습니다. 주어진 이메일 주소 (telnet localhost 25)에 직접 이메일을 보낼 수 있는지 확인하십시오. 그렇지 않으면 아파치와 관련이 없습니다.

관련 문제