起因:最近使用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()。
分享到:
相关推荐
JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 原因: MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。 解决: 在MyEclipse目录下(D:\Program Files\MyEclipse ...
JavaMail是一个用于读取、写入、地址解析以及发送邮件的Java API。它提供了一种抽象的方式来处理不同类型的邮件服务(如SMTP、POP3等)。在这个例子中,`javax.mail.Message`类是JavaMail API的一部分,用于表示邮件...
该开发包是解决 JavaMail 发送邮件报错:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 使用方法: 将javaee.jar ...
如果出现JavaMail 发送邮件报错:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 是因为myeclipse中有自带的Javamail...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了与 SMTP、POP3 和 IMAP 协议交互的接口,是开发基于 Java 的电子邮件应用的基础。回执邮件是邮件服务中的一项功能,它允许发件人在发送邮件...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
然而,要实现完整的邮件发送功能,单纯依赖`javamail.jar`是不够的,还需要`activation.jar`包。这两个库一起工作,使Java应用程序能够处理MIME类型的邮件,包括附件、HTML内容以及各种格式的文本。 `activation....
在Java编程中,发送电子邮件是一项常见的任务,而`mail.jar`和`activation.jar`这两个JAR包是实现这一功能的关键库。它们提供了JavaMail API,一个用于在Java应用程序中处理邮件的接口。让我们深入探讨一下这两个JAR...
在IT行业中,发送电子邮件是一项常见的任务,而JavaMail是一个广泛使用的API,用于处理与电子邮件相关的各种操作。在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS...
JavaMail是一种开源的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。IMAP(Internet Message Access Protocol)是一种标准的邮件访问协议,用于从邮件服务器检索邮件。Exchange 2007是微软的企业级...
`jsp+javamail`的组合就是用来实现在Java Web环境中发送邮件的功能。本篇将详细介绍如何利用JSP(JavaServer Pages)和JavaMail API来实现这个功能。 首先,我们需要了解JSP。JSP是一种动态网页技术,它允许我们在...
JavaMail: http://java.sun.com/products/javamail Struts: http://struts.apache.org/download.cgi JSF: http://java.sun.com/j2ee/javaserverfaces/download.html 文件上传: ...
msg.setSubject("javamail测试邮件"); // 主题 msg.setText("注意,这是测试程序发的,请不要回复!"); //内容 // 邮件服务器进行验证 Transport tran = session.getTransport("smtp"); tran.connect("smtp...
在Java Web开发中,使用JavaMail API可以实现邮件的发送和接收功能。JavaMail是一个开源库,它提供了标准的API来处理SMTP(简单邮件传输协议)和其他邮件协议,使得开发者能够在应用程序中方便地发送和接收电子邮件...
JavaMail 是一个开源的 Java API,它为 Java 程序员提供了强大的电子邮件处理功能,使得在 Java 应用程序中收发电子邮件变得极其简单。`javax.mail-1.6.2_javamailjar1.6.2_javamail-1.6.2_javax.mail_java` 这个...
(1)java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream (2)java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport 的解决办法,还有对应的两个包:mail.jar和activation.jar ...
本文将详细讲解如何使用Java实现邮件发送,包括文本邮件和带附件的邮件。 首先,我们需要了解JavaMail API,这是一个用于处理邮件的开放源代码库。JavaMail API提供了多种接口和类,允许开发者创建、发送、接收和...
JavaMail API是Java平台中的一个标准扩展库,用于发送、接收以及管理电子邮件。它提供了丰富的接口来实现邮件的各种操作,如构建复杂的MIME消息、处理附件等。 #### 二、使用JavaMail收发Gmail邮件 在使用JavaMail...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。在JavaMail中,发送带有附件的邮件涉及到对MIME(Multipurpose Internet Mail Extensions)标准的理解和使用。MIME扩展了邮件协议,允许在...
在Java中,我们可以使用JavaMail API来实现邮件的发送功能。这个API提供了丰富的接口和类,使得开发者能够方便地构建邮件发送程序。 首先,让我们了解JavaMail API的核心组件: 1. **Session**:这是JavaMail API...