[JAVAee]Linux上的javax.mail报错

我们把在window写的项目部署到Linux上的Tomcat时,如果发现使用不了了,该如何找到错误呢?找到报错的地方在哪呢?

在Linux环境下来到Tomcat目录下的logs目录,输入:

cpp 复制代码
tail -f catalina.out -n 500

tail 就是把文件的末尾几行读取到终端上,并会持续刷新

-f 循环读取

catalina.out 是文件,存储着Tomcat中的标准输出与标准出错,即我们在java中在控制台中输出的内容都会放到catalina.out中去

-n 行数,即显示文件尾巴的倒数行数

当我们想退出的tail的时候,使用ctrl+c就可以出去啦.

查看报的错误:

java 复制代码
linux javamail Couldn't connect to host,port: smtp.qq.com, 25; timeout -1;

我首先以为是服务器上的25端口(发送邮件的默认端口)开通,便去了安全组上进行了开通.

后来发现25端口比较特别,自己设置开通是依然不行的.但可以向阿里云去申请,会比较麻烦.

所以我们可以转变思路,不使用25端口.

可以使用ssl连接,和465端口.

设置系统的属性:(如果这里不明白什么意思建议先去学一下,javax.mail的使用)

java 复制代码
// 获取系统属性
        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");

经过上面的设置之后,就可以正确的发送邮件啦.

相关推荐
最贪吃的虎3 分钟前
Git: rebase vs merge
java·运维·git·后端·mysql
OliverH-yishuihan5 分钟前
开发linux项目-在 Windows 上 基于“适用于 Linux 的 Windows 子系统(WSL)”
linux·c++·windows
yBmZlQzJ23 分钟前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
DeepHacking28 分钟前
Overleaf 本地Docker部署
运维·docker·容器
llilian_161 小时前
总线授时卡 CPCI总线授时卡的工作原理及应用场景介绍 CPCI总线校时卡
运维·单片机·其他·自动化
乐迪信息1 小时前
乐迪信息:煤矿皮带区域安全管控:人员违规闯入智能识别
大数据·运维·人工智能·物联网·安全
好好生活_1 小时前
【Docker基础学习】从VM虚拟机到Docker
运维·docker
南棱笑笑生2 小时前
20251224给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时确认ssh服务【内置dropbear】
linux·c语言·ssh·rockchip
I · T · LUCKYBOOM2 小时前
30.Firewalld-Linux
linux·运维·安全
沙滩小绵羊2 小时前
Linux常见命令
linux·运维·服务器