Javamail pop3连接QQ邮箱遇到最深的坑

在使用pop3邮箱连接QQ邮箱接受邮件的时候遇到如下错误

Login fail. A secure connection is requiered(such as ssl)

此时按照错误提示添加如下配置

MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.pop3.ssl.enable",true);
props.put("mail.pop3.ssl.socketFactory",sf);

然而又出现了

Unrecognized SSL message, plaintext connection?

这时偶然看见

所以修改自己的端口为995即可,不知道为什么网上这么多博客写的都是110,找了好久的错(163的邮箱端口110可以使用)。

以下是全部的连接配置

Properties props = new Properties();
props.setProperty("mail.popStore.protocol", "pop3");       // 使用pop3协议
props.setProperty("mail.pop3.port", "995");           // 端口

MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.pop3.ssl.enable",true);
props.put("mail.pop3.ssl.socketFactory",sf);

//props.setProperty("mail.debug", "true");
props.setProperty("mail.pop3.host", "pop.qq.com");

Session session = Session.getInstance(props);
pop3Store = (POP3Store) session.getStore("pop3");
pop3Store.connect("pop.qq.com", 995, user, password);
pop3Folder = (POP3Folder) pop3Store.getFolder("INBOX");
/* Folder.READ_ONLY:只读权限
         * Folder.READ_WRITE:可读可写(可以修改邮件的状态)
         */
pop3Folder.open(Folder.READ_WRITE); //打开收件箱

猜你喜欢

转载自www.cnblogs.com/badassboy/p/10674296.html