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

本人一直从事JAVA后端开发,但一直想做一个自己的网站(www.wejias.com).为了学习和了解更多.所以没用建站程序,是自己一行一行敲HTLM和JS码出来的.本人码后端还行,但是前端真的是太水了.截至目前,前端在移动端显示效果还是非常糟糕.当然,我也一直在改.也希望大家多给我意见和指导.

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

BUG背景

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

吾:怎么卡死的…不应该呀

兄:就直接卡死了

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

兄:没有,就之前点了个验证码。

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

找原因

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值