0

我正在尝试连接到 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 有人有想法吗?

4

1 回答 1

0

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

于 2013-09-06T20:36:04.700 回答