在使用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); //打開收件箱