【问题标题】:Connecting to IMAP javax.net.ssl.SSLException: Unrecognized SSL message连接到 IMAP javax.net.ssl.SSLException:无法识别的 SSL 消息
【发布时间】:2014-08-08 04:43:02
【问题描述】:

我正在尝试使用以下程序连接到我公司的 IMAP 服务器,但出现 SSLException。

import javax.mail.*;
import java.util.Properties;

/**
 * Created by SDuraisamy on 6/18/2014.
 */
public class Test {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.setProperty("mail.store.protocol", "imaps");
        Session session = Session.getInstance(props, null);
        Store store = null;
        try {
            store = session.getStore();
//            store.connect("imap.gmail.com","mygmailaccount@gmail.com","password");
            store.connect("exchange_server", "account2", "password");
            Folder inbox = store.getFolder("INBOX");
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

我得到以下异常

    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)
    at javax.mail.Service.connect(Service.java:295)
    at javax.mail.Service.connect(Service.java:176)
    at Test.main(Test.java:17)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)

如何解决此错误? 当我连接到我的gmail 帐户时,相同的代码有效(源代码在上面评论),我可以通过我的程序连接和阅读消息。 交换服务器端需要任何设置才能通过 IMAP 下载消息吗?我已经在我的 Exchange 服务器上启用了 IMAP。

【问题讨论】:

    标签: java ssl exchange-server imap


    【解决方案1】:

    变化

        props.setProperty("mail.store.protocol", "imaps");
    

        props.setProperty("mail.store.protocol", "imap");
    

    解决了问题

    【讨论】:

    • 谢谢...一直在寻找这个答案一段时间...放弃...现在找到了...谢谢...如此简单...
    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 2016-08-04
    • 2016-08-28
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2018-03-13
    • 2014-02-04
    相关资源
    最近更新 更多