2015-01-20 5 views
-1

Я нашел пакет, который мог бы помочь мне отправлять письма из моего java, используя мой внешний вид, и он называется Java Outlook Connector. Я поместил код и скомпилировал нормально, но когда я отправляю электронное сообщение, возникает ошибка. Эта ошибка заключается в том, что java не нашел мой класс импортированным. с другой стороны, я аккуратно импортировал классы и вставил их в свою библиотеку Jdeveloper, но по-прежнему появляется ошибка. Я думаю, что главным образом ошибка теперь связана с неправильной настройкой пути библиотеки java. Как я могу решить эту проблему?отправьте электронное письмо в java по просмотру

Ниже мой код и моя ошибка

Спасибо

import com.moyosoft.connector.com.*; 
import com.moyosoft.connector.exception.*; 
import com.moyosoft.connector.ms.outlook.*; 
import com.moyosoft.connector.ms.outlook.folder.*; 
import com.moyosoft.connector.ms.outlook.item.*; 
import com.moyosoft.connector.ms.outlook.mail.*; 

    public void testbutton_action() { 



     try 
       { 



     // System.load("C:\\Program Files (x86)\\Java\\jdk1.7.0_71\\bin\\moyocore_x64.dll"); 

     // Outlook.setLibraryPath("C:\\Program Files (x86)\\Java\\jdk1.7.0_71\\bin\\moyocore.dll"); 


       // Outlook application 
       Outlook outlookApplication = new Outlook(); 

       // Get the Outbox folder 
       OutlookFolder outbox = outlookApplication.getDefaultFolder(FolderType.OUTBOX); 

       // Create a new mail in the outbox folder 
       OutlookMail mail = (OutlookMail) outbox.createItem(ItemType.MAIL); 

       // Set the subject, destination and contents of the mail 
       mail.setSubject("Hello world !"); 
       mail.setTo("[email protected]"); 
       mail.setBody("This is a test message."); 

       // Send the mail 
       mail.send(); 

       // Dispose the library 
       outlookApplication.dispose(); 
       } 
       catch(ComponentObjectModelException ex) 
       { 
       System.out.println("COM error has occured: "); 
       ex.printStackTrace(); 
       } 
       catch(LibraryNotFoundException ex) 
       { 
       // If this error occurs, verify the file 'moyocore.dll' is present 
       // in java.library.path 
       System.out.println("The Java Outlook Library has not been found."); 
       ex.printStackTrace(); 



    } 
} 

Ниже ошибка javax.faces.el.EvaluationException: // C:/Users/Дервиш/AppData/Roaming/JDeveloper/system11.1.2.4.39.64.36.1/o.j2ee/drs/New/Project1WebApp.war/fields.jsf @ 9,70 action = "# {TheBean.testbutton_action}": java.lang.NoClassDefFoundError: com/moyosoft/connector/com/ComponentObjectModelException at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke (MethodExpressionMethodBinding.java:51) at com.sun.faces.application.ActionListenerImpl.processAction (ActionListenerImpl.java:102) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast (UIXCommand.java:190) at javax.faces.component. UIViewRoot.broadcastEvents (UIViewRoot.java:787) at javax.faces.component.UIViewRoot.processApplication (UIViewRoot.java:1252) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication (LifecycleImpl.java:973) на oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase (LifecycleImpl.java:354) в oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute (LifecycleImpl.java:202) на javax.faces. webapp.FacesServlet.service (FacesServlet.java:508) at weblogic.servlet.internal.StubSecurit yHelper $ ServletServiceAction.run (StubSecurityHelper.java:227) в weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) в weblogic.servlet.internal.ServletStubImpl.execute (ServletStubImpl.java:300) в weblogic.servlet.internal.TailFilter.doFilter (TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter. doFilter (RegistrationFilter.java:125) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl $ FilterListChain.doFilter (TrinidadFilterImpl.java:468) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter (AdsFilter. java: 60) at org.apache.myfaces.trinidadinternal.webapp.Trinida dFilterImpl $ FilterListChain.doFilter (TrinidadFilterImpl.java:468) в org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl (TrinidadFilterImpl.java:293) в org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter (TrinidadFilterImpl.java:199) на org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter (TrinidadFilter.java:92) на weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) на оракула. adf.model.servlet.ADFBindingFilter.doFilter (ADFBindingFilter.java:173) at weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter $ 1.run (JpsAbsFilter.java:119) at java.security.AccessController.doPrivileged (собственный метод) на oracle.security.jps.util.JpsSubject.doAsPrivileged (JpsSubject.java:315) в oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode (JpsPlatformUtil.java:442) на oracle.security.jps. ee.http.JpsAbsFilter.runJaasMode (JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter (JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter (JpsFilter. Java: 71) на weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) на oracle.dms.servlet.DMSServletFilter.doFilter (DMSServletFilter.java:139) на weblogic.servlet.internal.FilterChainImpl. doFilter (FilterChainImpl.java:56) на weblogic.servlet.internal.RequestEventsFilter.doFilter (RequestEventsFilter.java:27) в weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) на weblogic.servlet. internal.WebAppServletContext $ ServletInvocationAction.wrapRun (WebAppServletContext.java:3715) в weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run (WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs (AuthenticatedSubject.java:321) в weblogic.security.service.SecurityManager. Runas (SecurityManager.java:120) на weblogic.servlet.internal.WebAppServletContext.securedExecute (WebAppServletContext.java:2277) на weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:2183) на weblogic.servlet. internal.ServletRequestImpl.run (ServletRequestImpl.java:1454) на weblogic.work.ExecuteThread.execute (ExecuteThread.java:209) на weblogic.work.ExecuteThread.run (ExecuteThread.java:178) Вызванный: Java. lang.NoClassDefFoundError: com/moyosoft/connector/Ком/ComponentObjectModelException в project1.TheBeanC.testbutton_action (TheBeanC.java:67) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) на солнце .reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke (Method.java:597) at com.sun.el.parser.AstValue.invoke (Неизвестный источник) at com.sun.el.MethodExpressionImpl.invoke (Неизвестный источник) at com.sun.faces.facelets.el.TagMethodExpression.invoke (TagMethodExpression.java:105) at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke (MethodExpressionMethodBinding.java:46) ... 44 более Вызванный: java.lang.ClassNotFoundException: com.moyosoft.connector.com.ComponentObjectModelException на weblogic.utils.classloaders.GenericClassLoader.findLocalClass (GenericClassLoader.java:297) в weblogic.utils.classloaders .GenericClassLoader.findClass (GenericClassLoader.java:270) на weblogic.utils.classloaders.ChangeAwareClassLoader.findClass (ChangeAwareClassLoader.java:64) на java.lang.ClassLoader.loadClass (ClassLoader.java:305) в java.lang .ClassLoader.loadClass (ClassLoader.java:246) на weblogic.utils.classloaders.GenericClassLoader.loadClass (GenericClassLoader.java:179) на weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass (ChangeAwareClassLoader.java:43) ... 53

ответ

0

Вы можете отправлять электронные письма с использованием «нормального» метода, даже если у вас есть только интрасеть. Outlook не является чем-то другим, кроме удобного для пользователя интерфейса для системы электронной почты. Если быть точным, вы можете отправлять электронную почту с помощью smtp protocal, если вы можете подключиться к серверу рассылки, даже если это интранет.

+0

поэтому мне нужно искать, как отправлять электронные письма в java в целом, и я ставлю протокол smtp на свой сервер Outlook? – Darwish

+0

@ Darwish да просто ищу, как отправлять электронные письма в java, для части протокола smpt .... Если вы можете отправлять электронные письма через Outlook, значит, сервер электронной почты уже настроен. все, что вам нужно, это IP-адрес и принимающий порт. – Steve

+0

Я искал, и я нашел хороший код, который соответствует моим требованиям, но у меня есть 2 поля и имя пользователя и пароль мне нужно предоставить. проблема заключается в том, что несколько пользователей будут получать доступ к моей странице, и каждый пользователь будет иметь другое имя пользователя и пароль. так или иначе, чтобы решить эту проблему. Большое спасибо за помощь – Darwish

0

Outlook - это COM-сервер, который можно автоматизировать с использованием технологии OLE COM. Я не использую Java для разработки, но надеюсь, вы найдете, как вызывать COM-серверы на Java, например, - Is there OLE Automation in Java?. См. Using Automation to Send a Microsoft Outlook Message. В нем показано, как использовать автоматизацию для создания и отправки сообщения Microsoft Outlook.

Также вы можете найти статью How to automate Outlook from another program.

0

я кладезь Ответ на этот вопрос

проблема была в пути к библиотеке

я просто необходимо, чтобы перейти к опциям библиотеки в JDeveloper и повторно библиотеку в JAR/Каталог

Смежные вопросы