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

项目组用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容器中测试通过。

转载于:https://www.cnblogs.com/-hzy-/archive/2013/03/31/2992458.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值