关于发送邮件提醒的错误:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

   今天才注册163邮箱账号,试着玩玩邮件的发送,可总是提醒java.lang.NoClassDefFoundError:com/sun/mail/util/LineInputStream错误,百度后才知道主要的原因是因为:
         我们使用的是javaee5的库,其中javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,如果你在导入mail.jar和activation.jar就会出现出入。所以解决方法就是:”将javaee5的库,变成javaee6的库”。具体的步骤如下:
         1、项目名称上点击鼠标右键,选择“Build Path–>Configure Build Path–>Java Build Path”
这里写图片描述

2、单击“Add Library…”
这里写图片描述

3、选择“User Library”,单击“Next”
这里写图片描述
4、单击“User Libraries…”,选择需要的Java EE 6 Libraries

     可是天真的以为这样就好了,执行代码后又提示:550 User has no permission(邮箱不可用)。这是因为我的163没有开启POP3/SMTP服务,具体如何去开请参照http://blog.csdn.net/hughnes/article/details/52070878

     再去执行代码,发现又有新的错误:535 Error: authentication failed,原因是:未使用授权码
     解决办法:将你代码中的password,设置为你当时这只的客户端授权码即可

至此所有的问题都解决了,可以安心的发送邮件了。

猜你喜欢

转载自blog.csdn.net/ma_chen_qq/article/details/77972788