异常记录

本文介绍了一个关于JavaMail在尝试使用默认Session时遇到的java.lang.SecurityException异常问题及其解决方案。异常表明另一个应用已创建默认Session,导致权限冲突。解决方法是通过创建自定义Session而非使用默认Session。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

resion下javamail出异常java.lang.SecurityException: Access to default session denied
Caused by: java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:311)
程序用调度每晚12点自动发送邮件,前一段时间一直正常运行,一天突然报该异常导致不能发信
查找原因
It means some other application, or the app server itself, has already created
the default session using Session.getDefaultInstance and your application,
which has different privileges, is trying to use the default session using
Session.getDefaultInstance. Most likely your application will be much happier
if it just uses its own session instead of the default session.

Use Session.getInstance. See the javadocs for the difference.
理解了下:
当应用或者服务本身应将创建默认session,当他们都试图使用session时,会根据不同的权限来分配,解决办法是使用自己创建的session来代替默认的session
修改代码
mailSession = Session.getDefaultInstance(props, me);// 出异常
mailSession = Session.getInstance(props, me);//
能力有限理解可能存在偏差
注:
当我重启服务修改调度时间来发送邮件时,没有复现该问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值