我正在尝试连接到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有人有想法吗?
答案 0 :(得分:0)
您很可能拥有一个防火墙或防病毒产品,它允许从telnet连接,但阻止了与您的应用程序的连接。看起来您的应用程序是Java EE应用程序。我假设Java EE服务器在邮件服务器所在的同一台机器上运行,并且您运行了telnet。