使用简单JavaMail发邮件的问题。

orange0328 2008-05-17 09:27:56
我在按照例子做了个一个简单的使用javamail发邮件的程序,第一次运行他的时候没有出现错误,邮件也能正常的发出去,但是重新运行这个程序时出现了


type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.ejb.EJBException
root cause

javax.ejb.EJBException
root cause

java.lang.SecurityException: Access to default session denied



请问是什么原因呢?谢谢!

代码片段如下:


String from = "*****@163.com";
String host = "smtp.163.com";
String to = "***@hotmail.com";
Properties props = System.getProperties();

props.put("mail.smtp.host", host);

props.put("mail.smtp.auth", "true");
MyAuthenticator myauth = new MyAuthenticator("*****@163.com", "******"); //我有一个继承javax.mail.Authenticator的类
Session session = Session.getDefaultInstance(props, myauth);

MimeMessage message = new MimeMessage(session);

message.setFrom(new InternetAddress(from));

message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));

message.setSubject("test program");
message.setText("This is a test to inform you by java mail");
message.saveChanges();
Transport.send(message);



谢谢
...全文
202 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
orange0328 2008-05-17
  • 打赏
  • 举报
回复
问题解决,
将 Session session = Session.getDefaultInstance(props, myauth);
改成
Session session = Session.getInstance(props, myauth);
即可

谢谢
vvpang 2008-05-17
  • 打赏
  • 举报
回复
看一下是否有资源没有释放
我手头没有api文档,你仔细再查一下

67,523

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧