2012-12-26 3 views
3

자바 프로그램에서 Lotus Notes를 사용하여 전자 메일을 보내는 전자 메일 구성에 문제가 있습니다. 나는 이것이 꽤 솔직하다는 것을 알지만 나는 뭔가를 놓친다 고 생각한다. 내 코드는 다음과 같습니다.java로 이메일 보내기 Apache Commons Mail with Lotus Notes

import java.util.logging.Level; 
import java.util.logging.Logger; 
import org.apache.commons.mail.EmailException; 
import org.apache.commons.mail.SimpleEmail; 

public class MailClass { 

    public void SendMail() { 
     SimpleEmail email = new SimpleEmail(); 

    try { 
     email.setHostName("mail.smtp.host"); 
     email.addTo("[email protected]"); 
     email.setFrom("[email protected]"); 
     email.setSubject("Hello World"); 
     email.setMsg("This is a simple test of commons-email"); 
     email.send(); 

    } catch (EmailException ex) { 
     Logger.getLogger(MailClass4.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

public static void main(String[] args) { 
    MailClass main = new MailClass(); 
    main.SendMail(); 
    } 
} 

은 내가 내 호스트에 관하여하지만 그것에 대해 무엇을 정말 확실하지 않은 추측하고있어이 오류를

SEVERE: null 
org.apache.commons.mail.EmailException: Sending the email to the following server  failed : mail.smtp.host:25 
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242) 
... 
Caused by: javax.mail.MessagingException: Unknown SMTP host: mail.smtp.host; 
nested exception is:java.net.UnknownHostException: mail.smtp.host at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970) 

을 받고 계속. 내 이해에서 귀하의 호스트는 이메일 클라이언트 (예 : mail.smtp.google.com) 여야합니다. 그러나 Lotus Notes (인트라넷 btw에서 실행 됨)이므로 구현이 다릅니다. "mail.smtp.host"를 호스트로 사용하는 다른 샘플을 보았지만이 중 하나를 올바르게 가져올 수 없습니다 .... 전자 메일 프로그램을 처음 시작한 것이므로 이.

답변

4

인트라넷에서 실행중인 Domino 서버를 SMTP 서버로 사용할 수 있지만 먼저 Domino가 SMTP를 허용하도록 설정되었는지와 동시에 적절한 호스트 이름과 포트를 요청하는지 관리자에게 확인해야합니다.

2

setHostName에는 SMTP 서버의 호스트 이름 또는 IP 주소가 필요합니다. 예외적으로이 문제가 무엇인지 분명하게 알 수 있습니다.

Lotus Notes는 기본적으로 클라이언트이기 때문에 수행하려는 작업과 아무 관련이 없습니다.