2014-05-17 3 views
-1

나는 다양한 코드를 온라인으로 시도해 본적이 있지만 실제로 이메일을 보내는 대신 예외를 던지고 있습니다. 수동으로 보내는 것은 괜찮습니다. 무엇이 잘못 될 수 있습니까?자신의 메일 서버를 사용하는 Java Mail

SMTP example

TLS :

Exception in thread "main" java.lang.RuntimeException: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 587; timeout -1; 

SSL :

Exception in thread "main" java.lang.RuntimeException: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 465; timeout -1; 

은 분명히 내가 cmd를에 ping를 사용하여 메일 서버에 도달 할 수 있습니다 내가 인터넷에 연결하고 있습니다.

또는 일부 제한된 공개 메일 서비스 대신 인증없이 메시징을 허용하도록 내 메일 서버를 설정하려면 어떻게해야합니까? 무료 솔루션이 바람직합니다.

답변

0

이것은 인증 문제가 아니며 단순히 포트에 연결할 수 없습니다. 이 포트는 일반적으로 Windows 방화벽을 포함하여 엔드 포인트 방화벽에서 차단됩니다. 이것들은 특정 어플리케이션을 차단하는 경우가 많으므로 바깥 쪽에서는 연결할 수없는 java 일 수도 있음을 기억하십시오.

개인 메일 교환기를 실행 중 ... 아마도이 문제에 대한 이상적인 해결책이 아닙니다. 현실적으로 스팸 폴더 대신받은 편지함에 실제로 메일을 배달하려면 사설 서버가 다른 공용 메일 서버로 전달하면됩니다. 기껏해야 로컬 클라이언트에 대한 인증 작업을 처리 할뿐입니다 (동시에 엄청난 스팸 릴레이가 될 수도 있음). 여전히 그것을하고 싶다면, Postfix는 훌륭한 선택입니다.

+0

그래도 Windows 방화벽을 사용하지 않도록 설정 했는데도 연결을 허용하지 않습니다. 감사합니다. Postfix를 시도해 보겠습니다. –

+0

방화벽이있는 다른 바이러스 백신 패키지가 있습니까? 또한 많은 isps가 메일 포트를 차단하므로, postfix를 실행하기가 어려울 수도 있습니다. –

+0

아마 ISP SES와 같은 webservice api를 사용하여 메일을 보낼 수 있습니다. –

관련 문제