linux服务器,无法发送邮件

问题:用java写了发邮件的程序,在本地使用可以正常发送,放到阿里云服务器上无法发送邮件,提示
 Could not connect to SMTP host: mail.163.com, port: 25
很是郁闷,网上的解释铺天盖地,试了一个遍,最终找个一个靠谱的,看来网上的解释,水太深了,差点淹没了,
 

图片.png

然后果断的在程序里改为用465端口来发送,结果仍然不行,便想到是不是防火墙的问题,于是又在防火墙里添加规则开启465端口,如下:

图片.png

保存后,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");//请求身份认证

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值