2015-10-13 59 views
0

這是路線:CAMEL IMAP組件:無效的供應商

<route id="reading1"> 
    <from uri="timer:timerName?period=50000"/> 
    <to uri="imap://server/[email protected]&amp;password=My_password"/> 
    <log message="${body}"/> 
    </route> 

當我運行它,我得到這個錯誤:

javax.mail.NoSuchProviderException: invalid provider 
    at javax.mail.Session.getTransport(Session.java:724) 
    at javax.mail.Session.getTransport(Session.java:668) 
    at javax.mail.Session.getTransport(Session.java:648) 
    at org.apache.camel.component.mail.DefaultJavaMailSender.getTransport(DefaultJavaMailSender.java:138) 
    at org.apache.camel.component.mail.DefaultJavaMailSender.send(DefaultJavaMailSender.java:110) 
    at org.apache.camel.component.mail.MailProducer.process(MailProducer.java:63) 
    at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) 
    at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:157) 
    at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:304) 
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:152) 
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) 
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448) 
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) 
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) 
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) 
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) 
    at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:165) 
    at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:73) 
    at java.util.TimerThread.mainLoop(Unknown Source) 
    at java.util.TimerThread.run(Unknown Source) 
[ thread #0 - timer://timerName] TimerConsumer     WARN Error processing exchange. Exchange[Message: [Body is null]]. Caused by: [javax.mail.NoSuchProviderException - invalid provider] 

當我將其更改爲:

<route id="reading1"> 
    <from uri="imap://server/[email protected]&amp;password=My_password"/> 
    <log message="${body}"/> 
    </route> 

它的工作原理 看來imap組件不能在<to../>標籤中只有<from ../>標籤和我的cas e imap params(用戶名和密碼)來自Imap之前的其他終端。 如何解決這個問題?

回答

0

發送電子郵件時使用smtpimappop3用於接收電子郵件。 smtp用於發送。

是啊有點混亂。

我們也許應該叫它mail,然後默認爲imap用於消費者,而smtp用於發送Camel。

+0

謝謝你回覆克勞斯!每個時期我都必須閱讀許多用戶的郵件並將其轉換爲短信。 imap params(用戶名和密碼)來自以下文本文件:' //提取@mail並傳遞並將它們放在標題中 '....... invoke短信web服務...我得到了這個消息:'javax.mail.NoSuchProviderException:無效的提供者' – zied123456

+0

我試過一個基本與Timer和iMap端點examlpe (如在第一篇文章中),我發現我們只能使用這個iMap端點的事件。這樣對嗎 ? – zied123456

+0

使用