使用java代码发送QQ邮箱,报错Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1,解决办法

博客从腾讯云搬到阿里云后,留言和评论的邮件就收不到了,今天抽空看了一下发现是发邮件的功能出了问题,在本地试了一遍发现可以,猜测是服务区问题,一番调试和查找后终于解决了...

运行后报错Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1;

使用java代码发送QQ邮箱,报错Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1,解决办法_第1张图片

 

试了好几种方法,记录一下:

1、加上这一句

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

2、加上这一句

properties.setProperty("mail.smtp.port", "465");

3、删掉或者注释这一段

// QQ邮箱需要下面这段代码,163邮箱不需要
/*MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory", sf);*/

 4、阿里云配置465端口

使用java代码发送QQ邮箱,报错Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1,解决办法_第2张图片

 

5、使用这个方法后成功发送邮件

将原来的

props.setProperty("mail.smtp.socketFactory.port", "465");
改为

props.setProperty("mail.smtp.socketFactory.port", "587");
邮件发送成功;

 

你可能感兴趣的:(开发,java,c语言,开发语言)