编写JavaMai遇到的一些问题l

首先粘贴下javamail的一个实例,大家参考下:

 

将修改邮箱服务器地址,再将用户名和密码的信息换为你自己的邮箱,如下代码片段中的红色字体。

   property.setProperty("mail.smtp.host ", "smtp.163.com");
    property.setProperty("mail.smtp.auth", "true");
  
  Authenticator aut = new Myauth("
****@163.com","*******");

 

 

在编写javamail过程中遇到的问题:

1.java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream问题

该问题的解决引自:http://blog.csdn.net/liuyxit/archive/2010/01/15/5193802.aspx

 

   2.Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

 

方法一:

这个问题是由于Javaee5中的mail还存在一些问题,和原来的mail.jaractivition.jar存在冲突。
如果你用myEclipse进行开发的话,运行时可能会出现以下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下
:

删除Java EE 5 Libraries/javaee.jar/mail里的包有东西,如果还是不行把activition也删了。


具体方法如下:
rar打开
X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,
然后删除mail,一接着把以前的mail.jaractivition.jar导入即可。

(具体是谁的blog我找不到原文了,这个应该和原文是一致的)

 

方法二:
JavaEE版本和JavaMail的版本不一致,请将sun公司上下载最新版本.
   例如:javaMail 1.3以下的如果在javaEE5上就会出现上面的错误,
   但如果在javaEE1.4下就正常.(但本人试过,javaEE5+javaMail1.4还是有一样的问题)
   因为javaEE5中包含有javaMail的类但是却不全面,所以出本身的JavaMail
   包冲突(引自:flatfish2000的
http://flatfish2000.iteye.com/blog/437698

 

3.Could not connect to SMTP host: localhost, port: 25;nested exception is:

 

这个问题一般是由于你的smtp服务器的配置错误引起的,比如我的问题是在

property.setProperty("mail.smtp.host ", "smtp.163.com");这句中的"mail.smtp.host "中多加了一个空格导致的问题,去掉后就好了。就是这个问题困绕了我一天。

 

4.javax.mail.AuthenticationFailedException

很明显是验证失败的问题,

1.就是你使用的邮件服务器是否支持smtp,比如qq的邮箱需要进行开通。

2.你用户名和密码是否正确。

 

 

最后给大家说下,就是在使用javamail时最好打开调试功能,这样就能更清楚的看到是哪个环节出了问题。

具体是加如下语句:session.setDebug(true);

解决: 

MyEclipse目录下,找javaee.jar包,用WinRar打包,删除里面的mail目录,然后加入mail.jaractivition.jar

具体下载位置请到网上搜下。

 

原因:

 

MyEclipse6.5javaee.jar中的mail包与JavaMail包有冲突

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值