gpt4 book ai didi

ssl - Javamail、Weblogic、IMAP、SSL 和 Exchange 2010

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:29 25 4
gpt4 key购买 nike

首先,抱歉我的英语不好(我来自西类牙)

我正在尝试从 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: Command received in Invalid state。用户参数是“domain\user-login\mail-box-alias”的组合。我使用它是因为我在操作指南中以这种方式看到了它。我已经在我的 Weblogic 服务器中安装了有效的 SSL 证书。

不知道哪里出错了

通过调试我得到这个:

调试:getProvider() 返回 javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]

确定 Microsoft Exchange IMAP4 服务已准备就绪。

A0 能力

CAPABILITY IMAP4 IMAP4rev1 LOGINDISABLED STARTTLS CHILDREN IDLE NAMESPACE LITERAL+

A0 OK CAPABILITY 已完成。

A1 LOGIN "domain\user\mailbox-alias"密码

在无效状态下收到的 A1 BAD 命令。

错误 2:javax.mail.AuthenticationFailedException:收到的命令处于无效状态。

最佳答案

如果您使用的是 993 端口,您需要使用 imaps 而不是 imap 作为您的协议(protocol):

Store store = session.getStore("imaps");

在端口 143 上,连接是明文的。然后,您可以选择通过发出 STARTTLS IMAP 命令来启动 TLS 加密层。 (这是由 mail.imap.starttls.enable 属性控制的。)

在端口 993 上,初始连接必须是加密的 SSL 连接。必须在从服务器发送或接收任何文本之前完成此 SSL 握手。

关于ssl - Javamail、Weblogic、IMAP、SSL 和 Exchange 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com