`
lhc1986
  • 浏览: 160385 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

JavaMail在web容器中接收不到邮件内容解决方法

    博客分类:
  • J2ee
阅读更多

项目组用javamail接收邮件的时候发现一个很奇怪的问题,在main方法中测试可以获取到邮件的内容,但是再strut2的action中获取不到,折腾了一中午,吃完午饭回来又折腾了一小时才弄好,以下是解决方案。

 

由于系统中的javamail的jar包版本是1.4,j2ee也自带了javamail的jar包,貌似也是1.4版本。

原来出错是因为自己引入的jar包,后来换成eclipse中自带的,目录是plugins/javax.mail_1.4.0.v201005080615.jar.这个是我eclipse环境中的,具体名称可能因环境而异。

 

 

替换成eclipse自带的javamail的jar包后又发现两处错误。

一个是连接邮件服务器必须用Store store = session.getStore(URLName url);方式连接。

 

另一个是Session session = Session.getDefaultInstance(props,null);中第二个参数必须加的。如下:

 

Session session = Session.getDefaultInstance(props,new Authenticator() {
  protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
  return new javax.mail.PasswordAuthentication("账号",
  "密码");
  }
  });

 用main方法测试通过,在web容器中测试通过。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics