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)不知道什么原因。
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)不知道什么原因。
class "com.sun.mail.smtp.SMTPAddressFailedException"'s signer information does not match signer information of other classes in the same package
这个什么意思?
class "com.sun.mail.smtp.SMTPAddressFailedException"'s signer information does not match signer information of other classes in the same package
这个什么意思?
增加验证 Authenticator
Java code
class mailAuth extends javax.mail.Authenticator{}Authenticator auth = new mailAuth (username,password);
// 設定
session = Session.getInstance(props, auth);
这样试试