国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

JavaMail 發送郵件失敗

瀏覽:92日期:2023-12-14 16:29:59

問題描述

用java 實現一個 發送郵件的Demo(用的是QQ郵箱) 但發送總是失敗,QQ郵箱中的 Smtp 服務也都開啟了,密碼用的是獲取的授權碼

public static void main(String[] args) { // 收件人電子郵箱 String to = '123@qq.com'; // 發件人電子郵箱 String from = '456@qq.com'; // 指定發送郵件的主機為 smtp.qq.com String host = 'smtp.qq.com'; //QQ 郵件服務器 // 獲取系統屬性 Properties properties = System.getProperties(); // 設置郵件服務器 properties.setProperty('mail.smtp.host', host); properties.put('mail.smtp.auth', 'true'); properties.put('mail.smtp.port', '465'); properties.put('mail.smtp.socketFactory.port', '465'); properties.put('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory'); properties.put('mail.smtp.starttls.enable', 'true'); properties.put('mail.smtp.socketFactory.fallback', 'false'); properties.put('mail.smtp.starttls.enable', 'true'); properties.put('mail.smtp.ssl.trust', 'smtp.qq.com'); // 獲取默認session對象 Session session = Session.getDefaultInstance(properties,new Authenticator(){ public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication('456@qq.com', '123123'); //發件人郵件用戶名、密碼 } }); session.setDebug(true); try{ // 創建默認的 MimeMessage 對象 MimeMessage message = new MimeMessage(session); // Set From: 頭部頭字段 message.setFrom(new InternetAddress(from)); // Set To: 頭部頭字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: 頭部頭字段 message.setSubject('This is the Subject Line!'); // 設置消息體 message.setText('This is actual message'); // 發送消息 Transport.send(message); System.out.println('Sent message successfully....from w3cschool.cc'); }catch (MessagingException mex) { mex.printStackTrace(); } }

錯誤提示DEBUG SMTP: trying to connect to host 'smtp.qq.com', port 465, isSSL falsejavax.mail.MessagingException: Could not connect to SMTP host: smtp.qq.com, port: 465; nested exception is:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetat com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)at javax.mail.Service.connect(Service.java:317)at javax.mail.Service.connect(Service.java:176)at javax.mail.Service.connect(Service.java:125)at javax.mail.Transport.send0(Transport.java:194)at javax.mail.Transport.send(Transport.java:124)at com.syx.email.MailTest3.main(MailTest3.java:68)

有沒有做過類似的大神指點一下 …^.^…

問題解答

回答1:

SSL數字證書問題,簡單點去掉數字證書驗證試試 properties.put('mail.smtp.ssl.trust', 'smtp.qq.com'); // 這行先注釋調

標簽: java
相關文章:
主站蜘蛛池模板: 大城县| 启东市| 阳城县| 新津县| 驻马店市| 宝丰县| 绥江县| 黑龙江省| 双城市| 固阳县| 且末县| 新营市| 邛崃市| 贵定县| 衡南县| 搜索| 泗水县| 陵水| 武川县| 宜城市| 邻水| 乌海市| 霍林郭勒市| 徐闻县| 防城港市| 米林县| 宁乡县| 乐昌市| 七台河市| 马鞍山市| 彭水| 青川县| 兴仁县| 盐城市| 仲巴县| 黎城县| 黄山市| 陆川县| 泾川县| 甘泉县| 伊春市|