java连接qq邮箱_Javamail pop3连接QQ邮箱遇到最深的坑

  • Post author:
  • Post category:java


在使用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?

这时偶然看见

bf900808abb4f24097735d53821b2a4b.png

所以修改自己的端口为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); //打开收件箱



版权声明:本文为weixin_28787115原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。