2011-08-02 5 views
0

Apache commons Email API를 사용하여 전자 메일을 보내려고합니다.Java : 아파치 공유 메일에 관한 질문

smtp 서버로 hMailServer를 설치하고 test.com 도메인을 만들었습니다. 나는 사용자 'user1'을 추가했다.

나는 내 프로그램, 그것은 인쇄, 실행하면 아래의 코드

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

를 사용하여 메일을 보내려고 "메일이 전송!". 하지만 약 30 분이 지났지 만받은 편지함에는 메일이 없습니다.

누락 된 것이 있습니까? 네트워크 문제로 인해 지연이 있습니까?

업데이트 :

나는 진단을 실행하고 나는 자세한 내용은 아래를 얻었다.

enter image description here

나는 문제가 아웃 바운드 포트가있는 것 같아요.

아무도 나에게 무슨 문제가 있는지 파악할 수 있습니까?

+0

메일 서버가 실제로 이메일을 보낼 수 있는지 테스트 했습니까? 대상 주소가 맞습니까? AFAIK는 바운스 또는 유사한 것을 얻으면 오류를 반환하지 않습니다. – Thomas

+0

어떻게 확인할 수 있습니까? – user2434

+0

진단에서 처음 오류를 추가하면 "호스트 이름 mail.hmailserver.com"을 확인할 수 없습니다. 이는 DNS 조회 문제처럼 들리므로보다 근본적인 문제가있을 수 있습니다. 명령 프롬프트로 이동하면 "ping mail.hmailserver.com"을 사용할 수 있습니까? ping이 작동하는지 여부에 관계없이 mail.hmailserver.com의 IP 주소를 나타내야합니다. (해당 이름은 현재 "83.169.11.240"으로 해결됩니다.) – kaliatech

답변

0

많은 문제가있을 수 있습니다. Java 코드에서 예외를 얻지 못했기 때문에 전자 메일이 hMailServer 인스턴스에 도달했으나이를 지나치지는 않았습니다. documentation for hMailServer에는 여러 문제 해결 제안 사항이 포함되어 있습니다.

귀하의 ISP (또는 귀하의 로컬 방화벽)가 아웃 바운드 포트 25를 차단하고있는 것 같습니다. 또한 Gmail의 스팸 폴더를 확인하십시오.

0

"mail.hmailserver.com을 (를) 찾을 수 없습니다"(AKA not found) 오류를 살펴보십시오. 그 주소가 정확한지 확실합니까? 거기에 메일 서버가 있습니까?

BTW 일부 HOSTS 파일 엔리가 없으면 "test.com"으로 두 번째 실패한 테스트가 작동하지 않습니다. 실제 메일 서버 사용