Could not connect to SMTP host: mail.163.com, port: 25
很是郁闷,网上的解释铺天盖地,试了一个遍,最终找个一个靠谱的,看来网上的解释,水太深了,差点淹没了,
然后果断的在程序里改为用465端口来发送,结果仍然不行,便想到是不是防火墙的问题,于是又在防火墙里添加规则开启465端口,如下:
保存后,service iptables restart 重启防火墙,然而依然没什么用,又各种折腾了半天试了好多方法都不行,因为启用了ssl加密方式发送邮件,其实我现在还不是很明白个中缘由,呵呵,总之问题算是解决了,所以赶紧记录下来,方便以后,同时也给遇到同样问题的朋友一个解决办法。
阿里云上面解释封锁了25端口发邮件,建议使用加密的465,测试通过了,其他不是很明白原因,(我的另一台服务器没有这些麻烦,之前直接测试成功的)
具体的代码,在方法前面加上如下代码:
Properties props=new Properties(); // SSL加密 MailSSLSocketFactory sf = null; try { sf = new MailSSLSocketFactory(); // 设置信任所有的主机 sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf); } catch (GeneralSecurityException e) { e.printStackTrace(); } props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", "smtp.ym.163.com"); props.setProperty("mail.smtp.auth", "true");//请求身份认证