javamail异常处理,我要的处理是在抛出的异常SendFailedException中,捕捉没有被发送的部分邮件地址,代码92  catch (SendFailedException e) {
93              MessagingException sfe = (MessagingException) e;
94             Exception ne;
95             while (((ne = sfe.getNextException()) != null) && (ne instanceof MessagingException)) {
96               sfe = (MessagingException) ne;
97                 if (sfe instanceof SMTPAddressFailedException) {
98                    SMTPAddressFailedException ssfe = (SMTPAddressFailedException) sfe;
                    exAddress = ssfe.getAddress().toString()+",";
                    exAddress1 = exAddress1 + exAddress;
                }
            }
            exAddress1 = exAddress1.trim().substring(0, exAddress1.length()-1);
}
上面是异常处理部分,比如说邮箱是局域网段的,服务器就是IP地址,当你发送给外网的地址的时候,这时候会出现异常,就是从异常中取出所有的不能发送的地址,现在我出现的问题是,在本地上运行上面的代码能够捕捉到,但是当我打成ear包运行的时候,这个异常处理部分总是报错。下面是错误信息:
2008/11/14,12:23:21.906,bunsho         ,ERROR,0x1b1aa65 ,0x13d7254 ,0000200001     ,007457E063622FFFAAB28E23ED44D9B9,10.10.5.35     ,PsAction,execute,PS008:RuntimeExceptionが発生しました。
java.lang.SecurityException: class "com.sun.mail.smtp.SMTPAddressFailedException"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at com.hitachi.software.ejb.server.PortableClassLoader.loadClass(PortableClassLoader.java:536)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at com.hitachi.software.ejb.server.PortableClassLoader.loadClass(PortableClassLoader.java:536)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at com.hitachi.software.ejb.server.PortableClassLoader.loadClass(PortableClassLoader.java:536)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at com.hitachi.software.ejb.server.PortableClassLoader.loadClass(PortableClassLoader.java:249)
at com.hitachi.software.ejb.server.ApplicationClassLoader.loadClass(ApplicationClassLoader.java:136)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1522)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1421)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at jp.co.hitachi.jkk.bunsho.bb.common.online.BBCCMailSend.sendMail(BBCCMailSend.java:97)
at jp.co.hitachi.jkk.bunsho.bb.player.handler.BBSDocShoriKianHassouSetHassouHandler.executeUOC(BBSDocShoriKianHassouSetHassouHandler.java:699)
at jp.co.hitachi.itg.ecando.pstruts.PsHandler.processExecuteUOC(PsHandler.java)
at jp.co.hitachi.itg.ecando.pstruts.PsHandler.exec(PsHandler.java)
at jp.co.hitachi.itg.ecando.pstruts.PsEventHandler.exec(PsEventHandler.java)
at jp.co.hitachi.itg.ecando.pstruts.PsHandler.execute(PsHandler.java)
at jp.co.hitachi.jkk.bunsho.bb.player.action.BBSDocShoriKianHassouSetEventAction.executeHandler(BBSDocShoriKianHassouSetEventAction.java:70)
at jp.co.hitachi.itg.ecando.pstruts.PsAction.processExecuteHandler(PsAction.java)
at jp.co.hitachi.itg.ecando.pstruts.PsAction.exec(PsAction.java)
at jp.co.hitachi.itg.ecando.pstruts.PsEventAction.exec(PsEventAction.java)
at jp.co.hitachi.itg.ecando.pstruts.PsAction.execute(PsAction.java)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at jp.co.hitachi.itg.ecando.pstruts.PsActionServlet.service(PsActionServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:679)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:129)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:311)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:307)
at jp.co.hitachi.jkk.bunsho.bb.common.online.BBCCLoginCheckFilter.doFilter(BBCCLoginCheckFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:428)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:129)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:311)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:307)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:370)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.web.catalina.core.LinkedPipeline.invoke(LinkedPipeline.java:475)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:333)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.web.tcg.ThreadControlGroupValve.invoke(ThreadControlGroupValve.java:82)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.ejb.management.mbean.web.RequestStatisticsValve.invoke(RequestStatisticsValve.java:72)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:192)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.web.catalina.core.LinkedPipeline.invoke(LinkedPipeline.java:475)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:3831)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:197)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.web.catalina.core.LinkedPipeline.invoke(LinkedPipeline.java:475)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at com.hitachi.software.web.catalina.core.ValveWrapper.invokeNext(LinkedPipeline.java:672)
at com.hitachi.software.web.catalina.core.LinkedPipeline.invoke(LinkedPipeline.java:475)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:695)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:938)
at java.lang.Thread.run(Thread.java:595)不知道什么原因。

解决方案 »

  1.   

    问题没有解决,等待中。
    class "com.sun.mail.smtp.SMTPAddressFailedException"'s signer information does not match signer information of other classes in the same package 
    这个什么意思?
      

  2.   

    问题没有解决,等待中。 
    class "com.sun.mail.smtp.SMTPAddressFailedException"'s signer information does not match signer information of other classes in the same package 
    这个什么意思?
      

  3.   

    可能是需要验证的原因 
    增加验证 Authenticator 
    Java code
    class mailAuth extends javax.mail.Authenticator{}Authenticator auth = new mailAuth (username,password);
    // 設定
    session = Session.getInstance(props, auth);
    这样试试