在使用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); //打开收件箱
原文:https://www.cnblogs.com/badassboy/p/10674296.html