由 Java 发送邮件功能引发的思考……

稍微懂点 Java 的同学应该都知道,使用 Java 发邮件应该是很简单的嘛,网上代码也多的是,随便 copy 一个不就搞定了嘛!我就是这么想的,然而,后果很严重……

直接说说结果吧,在我执行了很多次都依旧不成功的前提下,我已经翻遍了百度前几页的文章还是没能找到答案。最终却是一个思维的转变解决了问题。

报错都是这样的,很无奈,一直提示连不上服务器。

常规的解决方案有这几个

1、邮件服务器的 smtp / pop3 服务没有打开。

2、登陆账号和密码为账号和客户端授权密码。

3、设置认证并开启 SSL 加密。

4、可能 JDK 的版本过高,安全验证不通过。

5、163,QQ 邮箱服务器本身频率和次数有限制。

6、执行成功了,在垃圾箱中。

然而,这些我都已经验证没问题了,还是依旧

是不是很崩溃,这时候都快怀疑人生了,其实主要的原因就是在我所处的网络环境。虽然我可以正常的访问百度网易等常规网站,但是网络还是有限制的,这个限制就导致我这个功能一直测试不通过。

就这个功能而言,也有很多同学说,为什么我代码一直都没有改过,前几天还能发,怎么今天就不行了?

原因就在于我们总是把目光定在代码上,就像我这次,就盯着代码看,怎么也找不出 bug ,而实际上只是我处在的网络有问题。

从公司的网络环境出来,使用自己手机数据,或是回到家中,使用局域网重新测试果然好了。

所以,如何刚好有同学遇到这个问题,那就注意看看吧,不一定是你的代码有问题,很可能就是网络的问题,下次遇到这种网络编程相关的问题,都需要考虑自己所处的网络环境。

以后不能死板的只知道看代码了呀,代码写的再好,网络不对也是白搭!

后记:我在家中的局域网中就这样不停的测试,然后发现还是会出 bug ,具体体现在单位时间内发送的次数过多,可能一分钟 10 + 吧,然后就 ping 不通 smtp 服务器了。

过了几分钟又测,又好了。我也咨询了 163 的客服,被告知没有限制 IP,然而实际情况告诉我,还是有限制的,也请大家悉知。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181210G16ANT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券