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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM