首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

JavaMail邮件发送错误:{exception=java.lang.SecurityException: Access to default session

2013-09-11 
JavaMail邮件发送异常:{exceptionjava.lang.SecurityException: Access to default session起因:最近使用

JavaMail邮件发送异常:{exception=java.lang.SecurityException: Access to default session

起因:最近使用JavaMail发送邮件,WEB容器我用的是resin,在做邮件发送测试的时候,第一次成功发送邮件,然后我有进行了热部署。应用自动重启后,我再次进行测试。结果异常出来了:

{exception=java.lang.SecurityException: Access to default session denied}

java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:321)

......?????

原先使用的代码如下:

Session session = Session.getDefaultInstance(properties, new Authenticator(){
???@Override
???public PasswordAuthentication getPasswordAuthentication(){
????return new PasswordAuthentication(USERNAME, PASSWORD);
???}
});

后来把代码修改为:

Session session = Session.getInstance(properties, new Authenticator(){

@Override
???public PasswordAuthentication getPasswordAuthentication(){
????return new PasswordAuthentication(USERNAME, PASSWORD);
???}

});

再次试验,发现不报异常了。

原因:Session.getDefaultInstance()是获得一个默认的共享session,而创建一个session可以使用Session.getInstance()。


我的异常网推荐解决方案:Servlet.service() for servlet default threw exception,http://www.myexception.cn/eclipse/181756.html

热点排行