javamail的一些小bug

原创 2015年11月17日 22:49:08

在写用java开发邮箱发送的过程中遇到了某些问题,其实这些问题很简单,但是但是弄啦我一天。

  真心累,都是公司的网络不给力,什么网络都限制害得我弄啦一天


在做的过程中有下面的一些bug.希望对后学者有帮助

java.lang.ClassNotFoundException: javax.mail.Authenticator
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    at com.zsb.action.ActivateMailAction.registerPwd(ActivateMailAction.java:73)
    at com.zsb.action.ActivateMailAction.doPost(ActivateMailAction.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)


那是因为没有mail.jar包


org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.163.com:25
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
    at org.apache.commons.mail.Email.send(Email.java:1267)
    at com.zsb.util.SendEmailUtil.getSendEmail(SendEmailUtil.java:37)
    at com.zsb.action.ActivateMailAction.registerPwd(ActivateMailAction.java:73)
    at com.zsb.action.ActivateMailAction.doPost(ActivateMailAction.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: javax.mail.NoSuchProviderException: smtp
    at javax.mail.Session.getService(Session.java:764)
    at javax.mail.Session.getTransport(Session.java:689)
    at javax.mail.Session.getTransport(Session.java:632)
    at javax.mail.Session.getTransport(Session.java:612)
    at javax.mail.Session.getTransport(Session.java:667)
    at javax.mail.Transport.send0(Transport.java:148)
    at javax.mail.Transport.send(Transport.java:80)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
    ... 25 more



这个错误好像是因为oracle已经发布了1.7.4的mail.jar包了。不用像以前那样添加两个jar包(activation.jar、javamail.jar)其实现在不用他们两个 了。只用一个mail.jar就可以了。还有要保证公司的网络不能对这些邮箱端口

进行限制,否则不能保证哦!

现在只要两个或者一个jar包就可以了(mail.jar  / commons-email.jar)

相关文章推荐

关于JavaMail在QQ邮件作为发件人出现的bug说明

JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Micros...

006——使用javamail发送邮件

在myeclipse中会自动给web项目导入javax.mail包中的类,但是不全(其实是只有接口,而没有接口的实现类),所以只靠MyEclipse中的类是不能运行java mail项目的,但是如果你...

邮箱系统原理——JavaMail中邮件内容结构

JavaMail API是sun公司为方便Java开发人员在应用程序中时间邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP和MIME等。JavaMai...

javamail——初接触

package org.lazyzhong.test; import java.util.Properties; public class MailSenderInfo { //发送邮件的服务器...

JavaMail(2)邮件发送和接收

一、RFC882文档简单说明   RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔。   邮件头包含的内容有: ...

JavaMail邮件发送常见问题

一、运行过程抛出异常 1、Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInp...

java使用javamail读取邮箱(收件箱为例)

转载地址:http://my.oschina.net/cshuangxi/blog/223417 import java.io.BufferedInputStream; import ja...

javamail发信和收信机制(smtp、pop3、imap)

javamail发信和收信机制(smtp、pop3、imap)
  • pshaoyi
  • pshaoyi
  • 2016年01月22日 17:00
  • 1286

除了javamail.我们可以用apache mail

为了简化开发,可以直接使用apache common项目的mail 官方网站为:http://commons.apache.org/email/ apache commons的email项目类的层...
  • ocean20
  • ocean20
  • 2011年08月13日 21:54
  • 3991

JavaMail--基础类详解

一、JavaMail简介 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMai...
  • ljheee
  • ljheee
  • 2016年08月07日 21:43
  • 1886
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javamail的一些小bug
举报原因:
原因补充:

(最多只允许输入30个字)