- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置 imap 空闲接收 channel 的 setCancelIdleInterval 属性。我正在使用基于 xml 的配置。这是必需的,因为此处报告了问题:“Spring Integration Mail Google IMAP how to set the frequency of checking the inbox ”。
给出的解决方案是针对 Java DSL 配置的,当我尝试在 xml 中实现它时,出现了错误。
我再次阅读了 Spring Integration 文档,并尝试获取每个接收协议(protocol)(IMAP、POP3)支持的所有属性的列表,但找不到任何此类文档。如果能制定这样一个文件,那将会非常有帮助。
下面是 imap-idle channel 代码,它根据 cancel-idle-interval 属性生成错误。
<int-mail:imap-idle-channel-adapter id="customAdapter"
store-uri="imap://[username]:[password]@[domain]:993/INBOX"
channel="receiveChannel"
auto-startup="true"
should-delete-messages="false"
should-mark-messages-as-read="false"
cancel-idle-interval=1740
java-mail-properties="javaMailProperties"/>
这是我尝试执行项目构建时收到的错误消息:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [application-email-parser-config.xml]
Offending resource: ServletContext resource [/WEB-INF/classes/applicationContext.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 66 in XML document from ServletContext resource [/WEB-INF/classes/application-email-parser-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 66; columnNumber: 52; cvc-complex-type.3.2.2: Attribute 'cancel-idle-interval' is not allowed to appear in element 'int-mail:imap-idle-channel-adapter'.
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:119) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:104) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:265) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:190) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:175) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:148) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:98) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:223) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:194) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) ~[spring-web-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) ~[spring-web-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:619) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409) ~[spring-web-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) [spring-web-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.0.10.RELEASE.jar:5.0.10.RELEASE]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4792) [catalina.jar:8.5.31]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256) [catalina.jar:8.5.31]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.31]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754) [catalina.jar:8.5.31]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) [catalina.jar:8.5.31]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.31]
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629) [catalina.jar:8.5.31]
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839) [catalina.jar:8.5.31]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_201]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
最佳答案
cancelIdleInterval
目前无法使用 XML 进行配置;你必须使用 JavaConfig
连接 bean或使用简单的 <bean/>
配置而不是 int-mail:
命名空间。
<bean id="receiver" class="org.springframework.integration.mail.ImapMailReceiver">
<property name="cancelIdleInterval" value="30" />
... other properties.
</bean>
<bean id="adapter" class="org.springframework.integration.mail.ImapIdleChannelAdapter">
<constructor-arg ref="receiver" />
... other properties (outputChannel etc).
</bean>
关于java - 如何使用 XML 配置设置 IMAP 邮件接收 channel 的取消空闲间隔属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57364689/
我有一堆代码执行 IMAP 命令“search, idle, done, search, idle, done, search, ...”。 是否有可能某些消息在搜索和空闲命令之间到达,因此只能在空闲
(使用IMAP命令,而不借助任何其他邮件程序包) 最佳答案 我不确定您对imap的了解程度如何,但是基本上在登录后,“选择”源邮箱,“复制”邮件,然后“删除”邮件(如果是,则“删除”旧邮箱)现在是空的
我正在编写一个 IMAP 爬虫,它是开源应用程序的一部分,对于增量爬网,我想使用消息 UID 来确定我是否已经看到了特定消息。 现在我找到了 a post从 2007 年开始说 IMAP UID 并不
我注意到 libcurl 支持 IMAP,但在文档和示例中没有找到任何内容 http://curl.haxx.se/libcurl/c/imap.html很穷。有谁知道如何在这个库中使用这个协议(pr
IMAP UID 是否保证为数字?我读过 RFC3501 中的部分,它说: Unique identifiers are assigned in a strictly ascending fashio
IMAP UID 是否保证为数字?我读过 RFC3501 中的部分,它说: Unique identifiers are assigned in a strictly ascending fashio
我正在使用开源 IMAP C# 库 IMapX (http://hellowebapps.com/products/imapx/)。当我试图从收件箱中获取电子邮件时,需要花费很多时间。有没有办法根据接
我正在尝试使用 Limilabs imap 库连接到电子邮件; tcpc = new System.Net.Sockets.TcpClient("imap.gmail.com", 993); 工作
我正在尝试使用 imap 方法通过 php 打开电子邮件,但它给我一个错误无法打开流 {imap.gmail.com:993/imap/ssl}INBOX,这是我的代码 $hostname = '{i
有没有办法确定给定电子邮件地址的 POP 或 IMAP 服务器?我正在为非技术用户构建一个应用程序,我真的不想打扰他们询问他们的 IMAP/POP 服务器。 mail2web.com这样做,但我不确定
如何确定通过 APPEND 添加的消息的 UID到邮箱?通过 STATUS我可以事先得到下一个值的预测,我可以 SEARCH之后,但依赖这些会引入竞争条件,因为可能在这些命令之间添加了其他消息。 最佳
这个搜索查询对我来说似乎有效: UID SEARCH OR ( OR ( OR (FROM "def@gmail.com") (FROM "abc@gmail.com")) (FROM "ghi@gm
我正在使用以下代码以编程方式验证电子邮件。 Properties properties = new Properties(); Session emailSession = Session.getDe
我正在使用 OpenSSL 连接到邮件服务器。 POP3 工作正常,但 IMAP 有问题。基于 CAPABILITY 命令服务器支持 PLAIN、NTLM 和 GSS-API 认证方法。 我想使用 P
我正在使用以下代码建立 IMAP 连接。我想阅读电子邮件。我读了这个文件 link无法从这里继续。 我的代码: #lang racket (define imap-server "*****") (d
在尝试使用 php 的 imap 函数时,我无法连接到 Gmail 的 imap 服务器。我正在使用: $mail = imap_open('{imap.gmail.com:993/imap/ssl/
我试图更好地理解 Gmail API . stated benefits 之一Gmail API 的最大特点是它可以“提供比 IMAP 显着的性能改进”。 Gmail API 和协议(protocol
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在制作一个支持 POP3 和 IMAP 的邮件客户端。我正在使用 vmime api 用 C++ 对客户端进行编程。我的问题是:同步邮件的最佳方式是什么? 我认为标识符是个好方法,但我不知道同步邮
我正在制作一个支持 POP3 和 IMAP 的邮件客户端。我正在使用 vmime api 用 C++ 对客户端进行编程。我的问题是:同步邮件的最佳方式是什么? 我认为标识符是个好方法,但我不知道同步邮
我是一名优秀的程序员,十分优秀!