相关文章推荐
鬼畜的可乐  ·  Java邮件发送解决ssl ...·  2 天前    · 
有爱心的显示器  ·  mongo ...·  9 月前    · 
坚强的遥控器  ·  ModuleNotFoundError: ...·  9 月前    · 
爱听歌的凉面  ·  javascript内容改变 ...·  1 年前    · 
飞奔的山羊  ·  Tutorial: Call an ...·  1 年前    · 
问题:用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");//请求身份认证 问题:用java写了发邮件的程序,在本地使用可以正常发送,放到阿里云服务器上无法发送邮件,提示 Could not connect to SMTP host: mail.163.com, port: 25很是郁闷,网上的解释铺天盖地,试了一个遍,最终找个一个靠谱的,看来网上的解释,水太深了,差点淹没了,然后果断的在程序里改为用465端口来发送,结果仍然不行,便想到是不是防火墙的问题,于是又在防

最近做的一个小的Java web项目,想实现当有人访问某个页面时,自动给我发送一条邮件这个功能。于时了解到java.mail中有一些现成的方法来实现邮件的发送。 一开始在本机测试很容易便发送成功了。但是当部署到服务器后就出现了各种问题,报错或者完全没有反应。 这里总结了自己搜集的一些问题及解决方法,希望能帮助到大家。 我测试使用的是新浪邮箱,其他邮箱可能会有差异。 情况一:25端口未开放,可以尝试打开25端口。 情况二:在尝试打开25端口后,仍然无法正常发送,就在终端输入命令telnet smtp.sina
Linux服务器突然发送不出邮件,检查了很多地方都没有发现异常,检查/var/log/maillog发现如下具体信息: 12 00:36:04 mylinux sendmail[4685]: u3BGa4Is004685: Authentication-Warning: mylinux.xxx.xxxx.com: oracle set s...
本地调试时,是正常可以发送邮件的,一旦部署到linux服务器上之后就无法发送邮件,并且提示:无法连接到主机、端口 1.导致的原因是因为Linux服务器无法直接访问邮件服务地址,在本机window上ping邮件地址,得到对应的真实IP 2.进入linux服务器,修改hosts文件,将邮件服务地址的ip和域名映射好,hosts修改命令:vi /etc/hosts 3.修改后按下esc,输入:wq...
最近在做一个项目,其中有用到PHPmailer来发送邮件,在本地测试好后,上传到线上,邮件发送失败。用的是SMTP协议,本地用的是wamp环境,线上用的是lamp环境。于是就进行一系列的排查。 这种方式首先PHP要开启sockets扩展,以及openssl。 1、查看php扩展#php -m发现是开启的 2、 然后打开php.ini,查看allow_url_fopenallow_u
阿里云服务器禁掉25端口 Javamail无法发送邮件本由于阿里云禁掉了25端口,造成了在服务器不能使用Javamail连接第三方邮件服务器:spring boot非SSl协议传输代码块 ,调用的是第三方的25端口,在阿里云服务器上就不能发送邮件配置文件applic.propertiesspring.mail.host=smtp.126.com spring.mail.username=***
公司有很多服务器上运行的脚本都是通过mail 来发送通知的,但是当没有邮件服务器的时候 通过mail发送的邮件经常被 对方的邮件服务器拒绝掉。之前我发过用msmtp+mutt来解决这个问题,但后来发现有些情况 不得不用mail,比如说 某个大公司已经有n多脚本在跑,或者其他什么原因不能用mutt的时候。 其实很简单,看了msmtp官方文档后才发现原来 用msmtp+ma...