无法使用javamail连接到邮件服务器

时间:2013-09-06 08:40:08

标签: javamail java-ee-6 mail-server james

我正在尝试连接到IMAP服务器以读取邮件,因为知道IMAP邮件服务器是本地APache JAMES邮件服务器。当使用pop3协议时,一切都成功,在客户端之间发送/检索消息......但当我将协议更改为imap时,连接异常被抛出我不知道为什么...

这是我的代码:

 @Stateless
 public class Mailer{

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

 public void connect(){
 IMAPStore store = (IMAPStore)session.getStore("imap");
 store.connect("localhost","test@mydomain.org","myPass");
 ...
 ...

从这里抛出异常:

 store.connect(...

例外是:

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

知道telnet进程的结果是:

   Me  :     telnet localhost imap
   Cmd :     Ok James IMAP4rev1 server server pc_name is ready
   Me  :     01 login test@localhost 123456
   Cmd :     01 Ok login completed

这意味着在某种程度上在服务器中启用了imap ...那么为什么会发生这样的异常:S有人有想法吗?

1 个答案:

答案 0 :(得分:0)

您很可能拥有一个防火墙或防病毒产品,它允许从telnet连接,但阻止了与您的应用程序的连接。看起来您的应用程序是Java EE应用程序。我假设Java EE服务器在邮件服务器所在的同一台机器上运行,并且您运行了telnet。