自我建站记录----不能发送验证BUG

本人一直从事JAVA后端开发,但一直想作一个本身的网站.为了学习和了解更多.因此没用建站程序,是本身一行一行敲HTLM和JS码出来的.本人码后端还行,可是前端真的是太水了.截至目前,前端在移动端显示效果仍是很是糟糕.固然,我也一直在改.也但愿Osc大佬多给我意见和指导.html

好了,说说今天的问题(http://www.wejias.com/html/article/article-7.html):前端

BUG背景java

今日下午,找Q群里伙伴帮忙点点各处功能。兄弟们很热情,在此谢过了。固然,我谢谢尚未说出口,各类说问题的声音,此起彼伏,一浪接一浪。虽然音浪很强,但此时个人心里甚至毫无波动(由于前端确实不少BUG)。但忽然在众多浪叫声中,一哥哥的声音特别刺耳,只因他说,他卡死了。这样的话,我听到是,很是惊慌的呀。我前端浪就算了,怎么还有卡死这样的问题呢。内心和全部程序猿第一反应同样同样的:"这不科学呀,我这里没有问题呀..."但在事实面前,再加上我又是求人帮忙测试,这时我低下高傲的头颅.去问状况了.后端

吾:怎么卡死的...不该该呀安全

兄:就直接卡死了服务器

吾:有什么操做么(此时心里很懵逼呀,直接卡死,是什么鬼)socket

兄:没有,就以前点了个验证码。学习

至此,我陷入无限的沉思中。我用的云服务器提供的免费邮箱服务,不至由于免费送的,就这么弱鸡呀。测试

找缘由网站

1.分析

2.验证

a.查看API项目日志找到以下信息:

DEBUG SMTP: trying to connect to host "***.****.***", port 25, isSSL false
  Exception: Could not connect to SMTP host: ***.****.***, port: 25;

b.此时对SMTP地址进行PING,能通,没有问题.而后TELNET,发现不行.但此时比较奇怪的是,我在本地WINDOWS上没有任何问题的

 

c.此时以为应该,我机器防火墙有问题,准备直接去修改,但转念一想,我没有禁过这个端口

d.因而到阿里云服务器官网查了一下,发现阿里为了云服务器安全,全部机器25出方向默认禁止,须要提工单解封见网址:

阿里云帮助中心-阿里云,领先的云计算服务提供商

同是也有一些别的解决方案,好比用465 SSL进行发送。因为考虑到工单能够要晚一点官方才能解决,因此就决定用第二种方式试一把。

解决问题

修改代码将原来运用25发送改成用465,主要代码以下:

import java.util.Properties;
Properties properties = new Properties();
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.host", ConfigHelper.getSMTP());//SMTP地址
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.socketFactory.port", ConfigHelper.getSMTPPort());//其值为465
properties.put("mail.smtp.port", ConfigHelper.getSMTPPort());
properties.put("mail.user", ConfigHelper.getFromEmail());
properties.put("mail.password", ConfigHelper.getSMTPPassword()); // 访问SMTP服务时须要提供的密码
properties.put("mail.smtp.ssl.enable", "true");// 设定用SSL方式
//下面这行的实际内容("mail.transport.protocol","smtp")
properties.setProperty(ConfigHelper.getMailTransportProtocol(), ConfigHelper.getMailTransportProtocolValue());

测试OK.

到此,问题解决。谢谢,QQ群众兄弟.

此贴问题在我本身的网也发布了,若是有遇到相似的问题兄弟,可参考原文.

http://www.wejias.com/html/article/article-7.html

相关文章
相关标签/搜索