2013-09-06 4 views
0

IMAP 메일 서버가 로컬 APache JAMES 메일 서버라는 것을 알고 메일을 읽기 위해 IMAP 서버에 연결하려고합니다. POP3 프로토콜을 사용하는 경우, 모든/전송 클라이언트간에 메시지를 검색, 성공 ...하지만 난 IMAP하는 프로토콜을 변경하는 경우, 연결 exceptiion는 javamail을 사용하여 메일 서버에 연결할 수 없습니다.

내 코드는 ... 내가 왜 몰라 발생되는 :

@Stateless 
public class Mailer{ 

@Resouces(name = "mail/javamailsession") 
private Session session; 

public void connect(){ 
IMAPStore store = (IMAPStore)session.getStore("imap"); 
store.connect("localhost","[email protected]","myPass"); 
... 
... 

예외는 여기에서 발생되는 :

store.connect(... 

예외 것은 :

java.mail.MessagingException : Connection refused : connect; 
    nested exception is : 
    java.net.ConnectionException: Connection refused : connect 

Me :  telnet localhost imap 
    Cmd :  Ok James IMAP4rev1 server server pc_name is ready 
    Me :  01 login [email protected] 123456 
    Cmd :  01 Ok login completed 

이것은 IMAP 서버에서 사용할 수있는 방법 또는 다른 의미는 ... 그런데 왜 같은 예외가 발생한다 : S의 누구는 아이디어가있다

텔넷 과정의 결과임을 알고?

+0

'localhost'에 smtp 서버가 있습니까? – erencan

+0

예 SMTP 서버가 JAMES 메일 서버 인 localhost에서 실행 중입니다 ... – primeFaceUser

+0

이 문제가 발생하여 ipv6 (http://stackoverflow.com/questions/14064111/java-mail-mystery-smtp-blocked)이 비활성화되었습니다. 그것은 나를 위해. – zrini

답변

0

대부분의 경우 텔넷과의 연결을 허용하지만 응용 프로그램과의 연결을 차단하는 방화벽 또는 안티 바이러스 제품이있을 가능성이 큽니다. 귀하의 응용 프로그램이 Java EE 응용 프로그램 인 것처럼 보입니다. Java EE 서버가 메일 서버가있는 것과 동일한 시스템에서 실행 중이며 telnet을 실행했다고 가정합니다.

+0

가상 컴퓨터에서 작업 중임을 알려주지 않으므로이 연결 문제의 원인이 될 수 있습니까? – primeFaceUser

+0

모든 것이 동일한 가상 머신에서 실행되고 있다면 그럴 것 같지 않습니다. JAMES 메일 서버, 프로그램을 실행하는 응용 프로그램 서버 및 telnet 명령이 모두 동일한 가상 시스템에서 실행되고 있는지 확인하십시오. –

+0

예, 모든 것이 동일한 가상 시스템에서 실행 중입니다. 지금은 다른 가상 머신에서 환경을 준비하고 응용 프로그램을 시작했는데 다행스럽게 모든 것이 작동하고 있습니다. 연결에 문제가 없습니다! 동일한 환경 (James, JavaMail, Glassfish)은 가상 시스템에서 작동하지만 다른 환경에서는 작동하지 않습니다. 두 컴퓨터에서 방화벽도없고 바이러스 백신도 없다는 것을 알고 있습니다. – primeFaceUser