我在试一个例子。在本例中,我们提到了使用spring-integration 2.0.3,但是我得到了一个NullPointerExpetion,为了解决这个问题,我遵循了这里提到的内容。但是如果我使用Spring-Integration2.1,那么我认为它需要Spring3.0。
问题:Spring2.5版本和spring-integration是否可以使用从IMAP读取电子邮件?
以下是我的项目中设置的maven依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
...
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-core</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mail</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mail="http://www.springframework.org/schema/integration/mail"
xmlns:int="http://www.springframework.org/schema/integration"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/integration/mail
http://www.springframework.org/schema/integration/mail/spring-integration-mail-2.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.0.xsd">
<util:properties id="javaMailProperties">
<prop key="mail.imap.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.imap.socketFactory.fallback">false</prop>
<prop key="mail.store.protocol">imaps</prop>
<prop key="mail.debug">false</prop>
</util:properties>
<mail:inbound-channel-adapter id="imapAdapter"
store-uri="imaps://<username>:<password>@imap.googlemail.com:993/INBOX"
channel="recieveEmailChannel"
should-delete-messages="false"
should-mark-messages-as-read="true"
auto-startup="true"
java-mail-properties="javaMailProperties">
<int:poller fixed-delay="5" time-unit="SECONDS"/>
</mail:inbound-channel-adapter>
<int:channel id="recieveEmailChannel">
<int:interceptors>
<int:wire-tap channel="logger"/>
</int:interceptors>
</int:channel>
<int:logging-channel-adapter id="logger" level="DEBUG"/>
<int:service-activator input-channel="recieveEmailChannel" ref="emailReceiverService" method="receive"/>
<bean id="emailReceiverService" class="com.mycompany.DefaultEmailReceiverUtilService">
</bean>
EmailNotificationTest.java
public class EmailNotificationTest extends
AbstractDependencyInjectionSpringContextTests
{
public static final String SOURCE_VERSION_ID = "$Id$";
//Who ever wants to run this testcase ,Please uncomment this method
protected String[] getConfigLocations()
{
return new String[]
{ "classpath:META-INF/spring/component.xml" };
}
public void testSimpleEmailNotification()
{
}
}
如果运行testcase,则会收到以下异常:
org.springframework.beans.factory.beanDefinitionStoreException:从类路径资源[meta-inf/spring/component.XML]解析XML文档时出现意外异常;嵌套异常为java.lang.NoClassDeffounder错误:org/springframework.beans.factory.xml.xmlbeandefinitionreader.doloadbeandefinition(xmlbeandefinitionreader.java:420)在org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinition(xmlbeandefinitionreader.342)在Org.SpringFramework.Test.AbstractSinglePringContextTests.CreateApplicationContext(AbstractSinglePringContextTests.java:198)位于Org.SpringFramework.Test.AbstractSinglePringContextTests.LoadContextLocations(AbstractSinglePringContextTests.179)位于Org.SpringFramework.Test.AbstractSinglePringContextTests.LoadContextLocations(AbstractSinglePringContextTests.158)位于
我没有找到一个简单的Spring集成-->Spring版本表。以下是您可以做的:
您将立即看到需要哪个Spring版本。例如,在Spring Integration 2.0.0中,您将看到它依赖于Spring 3.0.5。
我一直试图获取电子邮件正文与imap_fetchbody($stream,$msgno,$选项),但没有成功。 然后我尝试使用imap_fetchstructure($stream,$msgno),并使用各自的子类型手动解码每种类型,如:- 对于前两个,我可以用这样的东西来解码 但说到混合,我要么不知道,要么我该怎么办,要么我在哪里犯错。
问题内容: 我正在尝试在JavaMail API的帮助下通过IMAP访问来自Gmail帐户的电子邮件。我想知道为什么代码对一个电子邮件帐户有效,而对另一个电子邮件帐户无效。 我可以访问两个电子邮件帐户的文件夹。但是对于其中一个电子邮件帐户,无法访问其他文件夹,例如,它将引发异常。有人可以解释出什么问题了吗? 先感谢您。 这是代码: 问题答案: 是否有一个帐户使用非英语用户界面? Gmail文件夹名
如何在数据库中存储该电子邮件的唯一ID。 我尝试了$概述=imap_fetch_overview($inbox,$email_number,0);我收到了一堆数字,但问题是当其中一封电子邮件被删除时,数字会发生变化。 如何正确存储?MD5消息还是什么? 基本上,我试图在我的个人网络应用程序上接收电子邮件,在那里我可以管理和访问我自己的电子邮件。它使用imap调用gmail。 无论如何,我可以在哪里
IM工作在一个小部件,显示未读电子邮件计数的Gmail和其他电子邮件帐户设置在智能手机。我使用谷歌邮件API为Gmail和它的作品查找,但我没有得到如何与正常的电子邮件应用程序的工作。 我尝试使用帐户管理器获取登录凭据并自己检索信息,但它没有运行,因为我无法获取任何密码。只需验证令牌。我在谷歌上找不到任何关于如何使用普通电子邮件帐户的解决方案,这些帐户不是来自谷歌邮件。 更新:我试图获得密码与此功
我正在为IMAP服务器编程,但遇到了一个问题:电子邮件来自哪里? 我一直认为事件的基本过程是: 发送方客户端使用SMTP协议向SMTP服务器(主机A)发送电子邮件 这让我想知道:电子邮件是如何从接受SMTP的服务器发送到提供服务的IMAP服务器的?他们有协议吗?他们会把它放在目录里吗? 我见过目录的用法——每个用户有一个文件——它似乎不适合大型用户群。当两个进程同时读/写数据时,它不会也会引起问题
问题内容: 我需要从Gmail检索未读邮件。我正在使用Java Mail API。默认情况下,此API从最早的邮件检索到最新的邮件。但是我需要先检索最近的邮件。可能吗?提前致谢。 问题答案: 这是例子。不要忘记在类路径中添加javax.mail。