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

Posted badassboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); //打开收件箱

以上是关于Javamail pop3连接QQ邮箱遇到最深的坑的主要内容,如果未能解决你的问题,请参考以下文章

JavaMail实践--实现邮件发送

[Java] JavaMail 简单案例

利用Javamail接收QQ邮箱和Gmail邮箱(转)

关于JavaMail 使用QQ邮箱发送邮件的问。

JavaMail 邮件发送之使用qq邮箱

腾讯企业邮箱如何设置POP3和SMTP