Javamail,Weblogic,IMAP,SSL和Exchange 2010

首先,对不起我的英语(我来自西班牙) 我正在尝试使用Weblogic 8.1服务器内的Javamail从IMAP和SSL连接到Exchange 2010邮件服务器。 这是我的代码
Properties prop = new Properties();

// IMAP
// Disable TLS
prop.setProperty("mail.imap.starttls.enable", "false");

// Use SSL
prop.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.imap.socketFactory.fallback", "false");

// Use port 993
prop.setProperty("mail.imap.port", "993");
prop.setProperty("mail.imap.socketFactory.port", "993");

prop.setProperty("mail.imaps.class", "com.sun.mail.imap.IMAPSSLStore");

Session session = Session.getDefaultInstance(prop);
session.setDebug(true);
Store store = session.getStore("imap");
store.connect(host, user, password);
此时,我收到javax.mail.AuthenticationFailedException:在无效状态下收到命令。 user参数是“domain user-login mail-box-alias”的组合。我使用它是因为我在方法指南中以这种方式看到了它。 我已经在我的Weblogic Server中安装了有效的SSL证书。 我不知道错误在哪里。 通过调试我得到这个: DEBUG:getProvider()返回javax.mail.Provider [STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems,Inc] 确定Microsoft Exchange IMAP4服务已准备就绪。 A0能力 能力IMAP4 IMAP4rev1 LOGINDISABLED STARTTLS儿童IDLE NAMESPACE LITERAL + A0 OK CAPABILITY已完成。 A1登录“domain user mailbox-alias”密码 A1 BAD命令收到无效状态。 错误2:javax.mail.AuthenticationFailedException:在无效状态下收到命令。     
已邀请:
如果您使用的是端口993,则需要使用
imaps
而不是
imap
作为协议:
Store store = session.getStore("imaps");
在端口143上,连接是纯文本。然后,您可以选择通过发出
STARTTLS
IMAP命令来启动TLS加密层。 (这就是
mail.imap.starttls.enable
属性所控制的。) 在端口993上,初始连接必须是加密的SSL连接。必须在从服务器发送或接收任何文本之前完成此SSL握手。     
确保将Exchange 2010设置为允许基于用户/密码的登录。     
最后我解决了这个问题。这是一个javamail版本的问题,它对于Exchange 2010来说太旧了。我升级到1.4版本并且工作正常。到目前为止,我使用的是Javamail 1.1.3。     

要回复问题请先登录注册