javax.mail.MessagingException: Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1

使用465端口發送郵件時報錯

javax.mail.MessagingException: Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2042)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:697)
	at javax.mail.Service.connect(Service.java:366)
	at javax.mail.Service.connect(Service.java:246)
	at com.capgemini.tools.emailTest.sendMail(emailTest.java:273)
	at com.capgemini.tools.emailTest.main(emailTest.java:313)

原因是465端口需要配置

Properties properties = new Properties();

		properties.put("mail.smtp.host", smtpServer);
		properties.put("mail.smtp.auth", "true");
		properties.put("mail.smtp.socketFactory.class", SSL_FACTORY); // 使用JSSE的SSL
																		// socketfactory來取代默認的socketfactory
		properties.put("mail.smtp.socketFactory.fallback", "false"); // 只處理SSL的連接,對於非SSL的連接不做處理
		properties.put("mail.smtp.port", port);
		properties.put("mail.smtp.socketFactory.port", port);
		Session session = Session.getInstance(properties);

除此之外還要配置一個

        properties.put("mail.smtp.ssl.enable", true);

之後成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章