我正在使用 spring 集成来使用 imap 检索电子邮件以下是我的配置:我使用的是 spring-integration 版本 1.0.4.RELEASE,我坚持使用这个版本,因为我的 spring 版本是 2.5,我不想更改(需要付出很大的努力才能做到)。
问题 如果我将以下任何属性放入入站通道适配器中,那么我会收到以下异常。应该删除消息 =“假” 应该标记消息为已读 =“真”
线程“主”org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException 中的异常:来自类路径资源 [META-INF/spring/component.xml] 的 XML 文档中的第 125 行无效;嵌套异常是 org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: 属性“should-delete-messages”不允许出现在元素“mail:inbound-channel-adapter”中。
此外,每当我处理电子邮件时,相应的电子邮件就会从 Outlook 邮箱中删除。版本 1.0.4 不支持此属性吗?如果是,那么如何实现类似的功能?
<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@mydomain:993/inbox"
channel="recieveEmailChannel"
auto-startup="true"
java-mail-properties="javaMailProperties">
<int:poller>
<int:interval-trigger initial-delay="1000" interval="2000"
fixed-rate="true"/>
</int:poller>
</mail:inbound-channel-adapter>
<int:channel id="recieveEmailChannel" />
<int:service-activator input-channel="recieveEmailChannel" ref="emailReceiverService" method="receive"/>
<bean id="emailReceiverService" class="com.mydomain.email.in.DefaultEmailReceiverUtilService">
</bean>