我们把在window写的项目部署到Linux上的Tomcat时,如果发现使用不了了,该如何找到错误呢?找到报错的地方在哪呢?
在Linux环境下来到Tomcat目录下的logs目录,输入:
tail -f catalina.out -n 500
tail 就是把文件的末尾几行读取到终端上,并会持续刷新
-f 循环读取
catalina.out 是文件,存储着Tomcat中的标准输出与标准出错,即我们在java中在控制台中输出的内容都会放到catalina.out中去
-n 行数,即显示文件尾巴的倒数行数
当我们想退出的tail的时候,使用ctrl+c就可以出去啦.
查看报的错误:
linux javamail Couldn't connect to host,port: smtp.qq.com, 25; timeout -1;
我首先以为是服务器上的25端口(发送邮件的默认端口)开通,便去了安全组上进行了开通.
后来发现25端口比较特别,自己设置开通是依然不行的.但可以向阿里云去申请,会比较麻烦.
所以我们可以转变思路,不使用25端口.
可以使用ssl连接,和465端口.
设置系统的属性:(如果这里不明白什么意思建议先去学一下,javax.mail的使用)
- // 获取系统属性
- Properties properties = System.getProperties();
-
- // 设置邮件服务器
- properties.setProperty("mail.smtp.host", host);
- properties.put("mail.smtp.auth", "true");
- properties.put("mail.smtp.port","465");
- properties.put("mail.smtp.socketFactory.port", "465");
- properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
经过上面的设置之后,就可以正确的发送邮件啦.