[ https://issues.apache.org/jira/browse/JAMES-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15568640#comment-15568640 ]
Matthieu Baechler commented on JAMES-1832: ------------------------------------------ It looks like the problem is there : {code} Caused by: java.io.IOException: The system cannot find the path specified at java.io.WinNTFileSystem.createFileExclusively(Native Method) {code} It seems it can't create a temp file to dump the email content into. > unable to send and receive email with James - java.io.IOException: The system > cannot find the path specified > ------------------------------------------------------------------------------------------------------------ > > Key: JAMES-1832 > URL: https://issues.apache.org/jira/browse/JAMES-1832 > Project: James Server > Issue Type: Bug > Affects Versions: 3.0.0-beta5 > Environment: Windows operating system > Reporter: Rijoy Babu T > Attachments: confFiles.zip, jamse-serverLogs.txt, > mailetcontainer.log, pop3server.log, smtpserver.log, telnet commands.jpg, > wrapperlog.zip > > > I have installed James server on my local machine and configured it with > thunderBird email client. > After setting up email client I am not able to view emails in inbox. I am not > getting any error while sending emails from ThunderBird email client. > When I observed SMTP and POP3 logs, no errors found, But in wrapper.logs I > can see some exceptions. > I am new to this mail configuration. Not sure If I missed any settings prior > to set up email client. > Please find the stack trace below for more clarification. Also I am attaching > my mailetcontainer.xml file for your reference. > Caused by: org.apache.james.mailbox.exception.MailboxException: Unable to > parse message > INFO | jvm 1 | 2016/10/07 10:10:41 | at > org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:383) > INFO | jvm 1 | 2016/10/07 10:10:41 | at > org.apache.james.transport.mailets.ToSenderFolder.doService(ToSenderFolder.java:125) > INFO | jvm 1 | 2016/10/07 10:10:41 | ... 199 more > INFO | jvm 1 | 2016/10/07 10:10:41 | Caused by: java.io.IOException: The > system cannot find the path specified > INFO | jvm 1 | 2016/10/07 10:10:41 | at > java.io.WinNTFileSystem.createFileExclusively(Native Method) > INFO | jvm 1 | 2016/10/07 10:10:41 | at > java.io.File.checkAndCreate(File.java:1704) > INFO | jvm 1 | 2016/10/07 10:10:41 | at > java.io.File.createTempFile(File.java:1792) > INFO | jvm 1 | 2016/10/07 10:10:41 | at > java.io.File.createTempFile(File.java:1828) > INFO | jvm 1 | 2016/10/07 10:10:41 | at > org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:260) > INFO | jvm 1 | 2016/10/07 10:10:41 | ... 200 more > INFO | jvm 1 | 2016/10/07 10:10:42 | ERROR 10:10:41,974 | > james.mailspooler | Exception processing mail while spooling Unable to > process mail Mail1475815159834-7f699d91-039e-42f8-b9e7-2e3df8cc9da1 > (org.apache.camel.CamelExecutionException: Exception occurred during > execution on the exchange: Exchange[Message: > org.apache.james.core.MailImpl@79c0f4]) > INFO | jvm 1 | 2016/10/07 10:10:42 | javax.mail.MessagingException: > Unable to process mail Mail1475815159834-7f699d91-039e-42f8-b9e7-2e3df8cc9da1 > (org.apache.camel.CamelExecutionException: Exception occurred during > execution on the exchange: Exchange[Message: > org.apache.james.core.MailImpl@79c0f4]) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.JamesMailSpooler$1.run(JamesMailSpooler.java:166) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.lang.Thread.run(Thread.java:662) > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: > org.apache.camel.CamelExecutionException: Exception occurred during execution > on the exchange: Exchange[Message: org.apache.james.core.MailImpl@79c0f4] > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1287) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:618) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:126) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:131) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:62) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 5 more > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: > javax.mail.MessagingException: Unable to process mail > Mail1475815159834-7f699d91-039e-42f8-b9e7-2e3df8cc9da1 > (org.apache.camel.CamelExecutionException: Exception occurred during > execution on the exchange: Exchange[Message: > org.apache.james.core.MailImpl@79c0f4]) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:65) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.JamesMailetContext.sendMail(JamesMailetContext.java:409) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.toProcessor(AbstractStateMailetProcessor.java:160) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.access$1000(CamelMailetProcessor.java:48) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder$StateChangedProcessor.process(CamelMailetProcessor.java:207) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:81) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:571) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:504) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:213) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Splitter.process(Splitter.java:98) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:122) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:366) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:337) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:337) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.send(ProducerCache.java:175) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:111) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:124) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 7 more > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: > org.apache.camel.CamelExecutionException: Exception occurred during execution > on the exchange: Exchange[Message: org.apache.james.core.MailImpl@79c0f4] > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1287) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:618) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:126) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:131) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:62) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 105 more > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: > javax.mail.MessagingException: Unable to access mailbox. > (org.apache.james.mailbox.exception.MailboxException: Unable to parse message) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.transport.mailets.ToSenderFolder.doService(ToSenderFolder.java:130) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.transport.mailets.ToSenderFolder.service(ToSenderFolder.java:79) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:65) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:81) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:571) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:504) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:213) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Splitter.process(Splitter.java:98) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:122) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:366) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:337) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:337) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.ProducerCache.send(ProducerCache.java:175) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:111) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:124) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 107 more > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: > org.apache.james.mailbox.exception.MailboxException: Unable to parse message > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:383) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.transport.mailets.ToSenderFolder.doService(ToSenderFolder.java:125) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 199 more > INFO | jvm 1 | 2016/10/07 10:10:42 | Caused by: java.io.IOException: The > system cannot find the path specified > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.io.WinNTFileSystem.createFileExclusively(Native Method) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.io.File.checkAndCreate(File.java:1704) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.io.File.createTempFile(File.java:1792) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > java.io.File.createTempFile(File.java:1828) > INFO | jvm 1 | 2016/10/07 10:10:42 | at > org.apache.james.mailbox.store.StoreMessageManager.appendMessage(StoreMessageManager.java:260) > INFO | jvm 1 | 2016/10/07 10:10:42 | ... 200 more > INFO | jvm 1 | 2016/10/07 10:19:35 | INFO 10:19:35,231 | > james.pop3server | Id='2230796' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:19:35 | INFO 10:19:35,254 | > james.pop3server | Id='2230796' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:29:35 | INFO 10:29:35,266 | > james.pop3server | Id='31639126' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:29:35 | INFO 10:29:35,288 | > james.pop3server | Id='31639126' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:30:47 | INFO 10:30:47,717 | > james.pop3server | Id='16082057' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:30:47 | INFO 10:30:47,755 | > james.pop3server | Id='16082057' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:39:35 | INFO 10:39:35,313 | > james.pop3server | Id='23504184' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:39:35 | INFO 10:39:35,333 | > james.pop3server | Id='23504184' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:49:35 | INFO 10:49:35,341 | > james.pop3server | Id='31018112' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:49:35 | INFO 10:49:35,362 | > james.pop3server | Id='31018112' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:59:35 | INFO 10:59:35,363 | > james.pop3server | Id='16645359' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 10:59:35 | INFO 10:59:35,375 | > james.pop3server | Id='16645359' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:09:35 | INFO 11:09:35,373 | > james.pop3server | Id='20939858' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:09:35 | INFO 11:09:35,386 | > james.pop3server | Id='20939858' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:19:35 | INFO 11:19:35,441 | > james.pop3server | Id='18173971' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:19:35 | INFO 11:19:35,464 | > james.pop3server | Id='18173971' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:29:35 | INFO 11:29:35,470 | > james.pop3server | Id='32653970' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:29:35 | INFO 11:29:35,491 | > james.pop3server | Id='32653970' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:39:35 | INFO 11:39:35,520 | > james.pop3server | Id='8128574' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:39:35 | INFO 11:39:35,542 | > james.pop3server | Id='8128574' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:49:35 | INFO 11:49:35,575 | > james.pop3server | Id='29943195' User='' Connection established from 127.0.0.1 > INFO | jvm 1 | 2016/10/07 11:49:35 | INFO 11:49:35,598 | > james.pop3server | Id='29943195' User='sampleu...@tatatech1.com' Connection > closed for 127.0.0.1 > mailetcontainer.xml > -------------------------- > <?xml version="1.0"?> > <!-- > Licensed to the Apache Software Foundation (ASF) under one > or more contributor license agreements. See the NOTICE file > distributed with this work for additional information > regarding copyright ownership. The ASF licenses this file > to you under the Apache License, Version 2.0 (the > "License"); you may not use this file except in compliance > with the License. You may obtain a copy of the License at > > http://www.apache.org/licenses/LICENSE-2.0 > > Unless required by applicable law or agreed to in writing, > software distributed under the License is distributed on an > "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > KIND, either express or implied. See the License for the > specific language governing permissions and limitations > under the License. > --> > <!-- > This template file can be used as example for James Server configuration > DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS > --> > > <!-- See http://james.apache.org/server/3/config.html for usage --> > <!-- This block is responsible for processing messages on the spool. --> > <mailetcontainer enableJmx="true"> > > <!-- MailAddress used for PostMaster --> > <context> > <postmaster>postmaster@localhost</postmaster> > </context> > <!-- Number of spool threads --> > <spooler> > <threads>20</threads> > </spooler> > > <processors> > > <!-- The root processor is a required processor - James routes all mail > on the spool --> > <!-- through this processor first. --> > <!-- --> > <!-- This configuration is a sample configuration for the root processor. > --> > <processor state="root" enableJmx="true"> > <!-- This mailet redirects mail for the user 'postmaster' at any local > domain to --> > <!-- the postmaster address specified for the server. The postmaster > address --> > <!-- is required by rfc822. Do not remove this mailet unless you are > meeting --> > <!-- this requirement through other means (e.g. a > XML/JDBCRecipientRewriteTable defined in recipientrewritetable-store.xml) --> > <mailet match="All" class="PostmasterAlias"/> > <!-- Checks that the email Sender is associated with a valid domain. > --> > <!-- Useful for detecting and eliminating spam. --> > <!-- For this block to function, the spam processor must be > configured. --> > <!-- > <mailet > match="SenderInFakeDomain=64.55.105.9,64.94.110.11,194.205.62.122,194.205.62.62,195.7.77.20,206.253.214.102,212.181.91.6,219.88.106.80,194.205.62.42,216.35.187.246,203.119.4.6" > class="ToProcessor"> > <processor>spam</processor> > </mailet> > --> > <!-- Important check to avoid looping --> > <mailet match="RelayLimit=30" class="Null"/> > <!-- Check for viruses --> > <!-- --> > <!-- Does an antivirus scan check using a ClamAV daemon (CLAMD). --> > <!-- --> > <!-- Interacts directly with the daemon using the "stream" method, --> > <!-- which should have the lowest possible overhead. --> > <!-- The CLAMD daemon will typically reside on localhost, but could > reside on a --> > <!-- different host. --> > <!-- It may also consist on a set of multiple daemons, each residing > on a different --> > <!-- server and on different IP number. --> > <!-- In such case a DNS host name with multiple IP addresses > (round-robin load sharing) --> > <!-- is supported by the mailet (but on the same port number). --> > <!-- --> > <!-- Handles the following init parameters: --> > <!--<debug>--> > <!--<host>: the host name of the server where CLAMD runs. It can > either be --> > <!-- a machine name, such as --> > <!-- "java.sun.com", or a textual representation of its --> > <!-- IP address. If a literal IP address is supplied, only the --> > <!-- validity of the address format is checked. --> > <!-- If the machine name resolves to multiple IP addresses, > round-robin load sharing will --> > <!-- be used. --> > <!-- The default is "localhost". --> > <!--<port>: the port on which CLAMD listens. The default is "3310". --> > <!--<maxPings>: the maximum number of connection retries during > startup. --> > <!-- If the value is "0" no startup test will be done. --> > <!-- The default is "6". --> > <!--<pingIntervalMilli>: the interval (in milliseconds) --> > <!-- between each connection retry during startup. --> > <!-- The default is "30000" (30 seconds). --> > <!--<streamBufferSize>: the BufferedOutputStream buffer size to use > --> > <!-- writing to the stream connection. The default is "8192". --> > <!-- > <mailet match="All" class="ClamAVScan" onMailetException="ignore"> > <debug>true</debug> > </mailet> > --> > <!-- If infected go to virus processor --> > <mailet match="HasMailAttributeWithValue=org.apache.james.infected, > true" class="ToProcessor"> > <processor>virus</processor> > </mailet> > <!-- Check attachment extensions for possible viruses --> > <!-- The "-z" option requests the check to be non-recursively applied > --> > <!-- to the contents of any attached '*.zip' file. --> > <!-- > <mailet match="AttachmentFileNameIs=-d -z *.exe *.com *.bat *.cmd > *.pif *.scr *.vbs *.avi *.mp3 *.mpeg *.shs" class="Bounce" > onMatchException="error"> > <inline>heads</inline> > <attachment>none</attachment> > <passThrough>false</passThrough> > <prefix>[REJECTED]</prefix> > <notice> > The Security Policy of XXX does not allow to forward messages containing > attachments having any of the extensions .exe, .com, .bat, .cmd, .pif, .scr, > .vbs, .avi, .mp3, .mpeg, .shs, therefore your message has been rejected. > Please don't reply to this e-mail as it has been automatically sent by the > antivirus system. > Regards, Postmaster XXX.YYY > ..................................... > </notice> > </mailet> > --> > <!-- Whitelist Management --> > <!-- Manages for each local user a "white list" of remote addresses > whose messages --> > <!-- should never be blocked as spam. --> > <!-- --> > <!-- If<automaticInsert>is true, it will check, for a local sender, if > a remote recipient --> > <!-- is already in the list: if not, it will be automatically > inserted. --> > <!-- This is under the interpretation that if a local sender X sends a > message to a --> > <!-- remote recipient Y, then later on if a message is sent by Y to X > it should be --> > <!-- considered always valid and never blocked; hence Y should be in > the white list --> > <!-- of X. --> > <!-- --> > <!-- Another mode of operations is when a local sender sends a message > to<whitelistManagerAddress>--> > <!-- with one of three specific values in the subject, to --> > <!-- (i) send back a message displaying a list of the addresses in his > own list (<displayFlag>); --> > <!-- (ii) insert some new addresses in his own list (<insertFlag>); --> > <!-- (iii) remove some addresses from his own list (<removeFlag>). --> > <!-- In all of the three above cases the message will be ghosted and > the postmaster will reply --> > <!-- to the sender. --> > <!-- --> > <!-- The sender name is always converted to its primary name (handling > aliases). --> > <!-- > <mailet match="SMTPAuthSuccessful" class="WhiteListManager" > onMailetException="ignore"> > <repositoryPath>db://maildb</repositoryPath> > <automaticInsert>true</automaticInsert> > > <whitelistManagerAddress>whitelist.mana...@xxx.yyy</whitelistManagerAddress> > <displayFlag>display</displayFlag> > <insertFlag>insert</insertFlag> > <removeFlag>remove</removeFlag> > </mailet> > --> > <!-- "not spam" bayesian analysis feeder. --> > <!-- > <mailet match="RecipientIs=not.s...@xxx.yyy" > class="BayesianAnalysisFeeder"> > <repositoryPath>db://maildb</repositoryPath> > <feedType>ham</feedType> > <maxSize>200000</maxSize> > </mailet> > --> > > <!-- "spam" bayesian analysis feeder. --> > <!-- > <mailet match="RecipientIs=s...@xxx.yyy" > class="BayesianAnalysisFeeder"> > <repositoryPath>db://maildb</repositoryPath> > <feedType>spam</feedType> > <maxSize>200000</maxSize> > </mailet> > --> > <!-- sample SMIME mailets configuration --> > <!-- > <mailet match="IsSMIMEEncrypted" class="SMIMEDecrypt"> > <keyStoreType>pkcs12</keyStoreType> > <keyStoreFileName>c:/path.pfx</keyStoreFileName> > <keyStorePassword>myKeyStorePass</keyStorePassword> > <keyAlias>myKeyAlias</keyAlias> > <keyAliasPassword>myKeyPass</keyAliasPassword> > </mailet> > > <mailet match="IsSMIMESigned" class="SMIMECheckSignature"> > <keyStoreType>pkcs12</keyStoreType> > <keyStoreFileName>c:/path.pfx</keyStoreFileName> > <keyStorePassword>myKeyStorePass</keyStorePassword> > <strip>false</strip> > <onlyTrusted>true</onlyTrusted> > </mailet> > --> > <!-- > > XMLRecipientRewriteTable is deprecated - Use the definitions in > recipientrewritetable-store.xml > > <mailet match="All" class="XMLRecipientRewriteTable"> > <!- 1:1 mapping -> > <mapping>morgoth@middle-earth=sauron@mordor</mapping> > <!- 1:n mapping -> > > <mapping>istari@middle-earth=saruman@isengard;radigast;gandalf</mapping> > <!- DSN mapping -> > <mapping>boromir@osgilliath=error:550 Requested action not taken: > no such user here</mapping> > <!- regex based mapping -> > > <mapping>*@osgilliath=regex:(.*)@osgilliath:${1}@minas-tirith</mapping> > <!- both standard and regex mapping -> > <mapping>ring@*=onering@mordor;regex:ring@(.*):ring@${1}</mapping> > <!- conditional regex mapping example -> > > <mapping>*@listserver=regex:(.*)-on@listserver:${1}-subscribe@listserver; > > regex:(.*)-off@listserver:${1}-unsubscribe@listserver > </mapping> > </mailet> > > --> > <!-- Anti-spam processing --> > <!-- The following two entries avoid double anti-spam analysis --> > <!-- for forwarded messages. --> > <!-- Has spam checking already been done? --> > <mailet match="HasMailAttribute=spamChecked" class="ToProcessor"> > <processor>transport</processor> > </mailet> > <!-- Spam checking will not be done twice --> > <mailet match="All" class="SetMailAttribute"> > <spamChecked>true</spamChecked> > </mailet> > <!-- White List: > If you use block lists, you will probably want to check > for known permitted senders. This is particularly true > if you use more aggressive block lists, such as SPEWS, > that are prone to block entire subnets without regard > for non-spamming senders. > --> > <!-- Messages from authenticated senders never are spam --> > <mailet match="SMTPAuthSuccessful" class="ToProcessor"> > <processor>transport</processor> > </mailet> > <!-- Messages signed by trusted users never are spam --> > <!-- Uncommenting the following entry, messages with valid signatures > will never be considered spam. --> > <!-- This can be a valid policy *if* SMIMECheckSignature was invoked > --> > <!-- with<onlyTrusted>true</onlyTrusted>set --> > <!-- > <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" > class="ToProcessor"> > <processor>transport</processor> > </mailet> > --> > <!-- specific known senders --> > <!-- > <mailet match="SenderIs=goodboy@goodhost" > class="ToProcessor"> > <processor>transport</processor> > </mailet> > --> > <!-- People on this list agree to pay a penalty if they send spam --> > <mailet match="InSpammerBlacklist=query.bondedsender.org." > class="ToProcessor"> > <processor>transport</processor> > </mailet> > <!-- E-mail legally required not to be spam (see: > http://www.habeas.com) --> > <!-- > <mailet match="HasHabeasWarrantMark" class="ToProcessor"> > <processor>transport</processor> > </mailet> > --> > <!-- If the sender is in a recipient's whitelist, it is a valid > sender, --> > <!-- and as such the message should not be considered spam for such > recipient. --> > <!-- > <mailet match="IsInWhiteList=db://maildb" class="ToProcessor" > onMatchException="noMatch"> > <processor>transport</processor> > </mailet> > --> > <!-- End of White List --> > <!-- Check for delivery from a known spam server --> > <!-- This set of matchers/mailets redirect all emails from known --> > <!-- black holes, open relays, and spam servers to the spam processor > --> > <!-- For this set to function properly, the spam processor must be > configured. --> > <mailet match="InSpammerBlacklist=dnsbl.njabl.org." > class="ToProcessor"> > <processor>spam</processor> > <notice>550 Requested action not taken: rejected - see > http://njabl.org/</notice> > </mailet> > > <!-- Sample matching to kill a message (send to Null) --> > <!-- > <mailet match="RecipientIs=badboy@badhost" class="Null"/> > --> > <!-- Anti spam bayesian analysis --> > <!-- > <mailet match="All" class="BayesianAnalysis" > onMailetException="ignore"> > <repositoryPath>db://maildb</repositoryPath> > <maxSize>200000</maxSize> > <headerName>X-MessageIsSpamProbability</headerName> > <ignoreLocalSender>true</ignoreLocalSender> > </mailet> > <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability > >0.90" class="SetMailAttribute" onMatchException="noMatch"> > <isSpam>true</isSpam> > </mailet> > <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability > >0.90" class="SetMimeHeader" onMatchException="noMatch"> > <name>X-MessageIsSpam</name> > <value>true</value> > </mailet> > <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability > >0.99" class="ToProcessor" onMatchException="noMatch"> > <processor>spam</processor> > <notice>Spam not accepted</notice> > </mailet> > --> > > <mailet notmatch="SenderHostIsLocal" class="SpamAssassin"> > <spamdHost>localhost</spamdHost> > <spamdPort>783</spamdPort> > </mailet> > <!-- Send remaining mails to the transport processor for either local > or remote delivery --> > <mailet match="All" class="ToProcessor"> > <processor>transport</processor> > </mailet> > </processor> > <!-- The error processor is required. James may internally set emails to > the --> > <!-- error state. The error processor is generally invoked when there is > an --> > <!-- unexpected error either in the mailet chain or internal to James. --> > <!-- --> > <!-- By default configuration all email that generates an error in placed > in --> > <!-- an error repository. --> > <processor state="error" enableJmx="true"> > <!-- If you want to notify the sender their message generated an > error, uncomment this --> > <!-- > <mailet match="All" class="Bounce"/> > --> > <!-- If you want to notify the postmaster that a message generated an > error, uncomment this --> > <!-- > <mailet match="All" class="NotifyPostmaster"/> > --> > <!-- Logs any messages to the repository specified --> > <mailet match="All" class="ToRepository"> > <repositoryPath>file://var/mail/error/</repositoryPath> > <!-- An alternative database repository example follows. --> > <!-- > <repositoryPath>db://maildb/deadletter/error</repositoryPath> > --> > </mailet> > </processor> > <!-- Processor CONFIGURATION SAMPLE: transport is a sample custom > processor for local or --> > <!-- remote delivery --> > <processor state="transport" enableJmx="true"> > <!-- This is an example configuration including configuration for a > list server. --> > <!-- CHECKME: before uncommenting this, edit the configuration file's > contents --> > <!-- > &listserverConfig; > --> > <mailet match="SMTPAuthSuccessful" class="SetMimeHeader"> > <name>X-UserIsAuth</name> > <value>true</value> > </mailet> > > <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" > class="SetMimeHeader"> > <name>X-WasSigned</name> > <value>true</value> > </mailet> > <!-- Add a server-side signature --> > <!-- > <mailet match="All" class="SMIMESign" onMailetException="ignore"> > <keyStoreType>jks</keyStoreType> > <keyStoreFileName>path.keystore</keyStoreFileName> > <keyStorePassword>myKeyStorePass</keyStorePassword> > <keyAlias>myKeyAlias</keyAlias> > <keyAliasPassword>myKeyPass</keyAliasPassword> > <signerName>XXX Trusted Server</signerName> > <rebuildFrom>true</rebuildFrom> > <postmasterSigns>true</postmasterSigns> > <debug>true</debug> > </mailet> > --> > <!-- Experimental quota Matcher --> > <!-- This matcher need to calculate the mailbox size everytime it is > called. This can slow down things if there are many mails in --> > <!-- the mailbox. Some users also report big problems with the matcher > if a JDBC based mailrepository is used. --> > <!-- Check if over quota --> > <!-- > <mailet match="RecipientIsOverFixedQuota=20M" class="Resend"> > <sender>postmaster</sender> > <replyTo>postmaster</replyTo> > <reversePath>null</reversePath> > <inline>none</inline> > <attachment>message</attachment> > <prefix>[OVER QUOTA WARNING]</prefix> > <message> > When receiving the attached message, your mailbox is larger than 20 MB, which > is the maximum allowed quota. The mailbox will not be blocked, but we ask you > to empty it ASAP. > It is likely that you have set, in your mail client account, the option > "leave a copy of messages on server". For any help ask your administrators. > Regards, Postmaster XXX.YYY > ..................................... > </message> > </mailet> > --> > <!-- The RecipientRewriteTable will use the definitions found in > recipientrewritetablexml --> > <mailet match="All" class="RecipientRewriteTable" /> > > <!-- Place a copy in the user Sent folder --> > <mailet match="SenderIsLocal" class="ToSenderFolder"> > <folder>Sent</folder> > <consume>false</consume> > </mailet> > > <mailet match="RecipientIsLocal" class="ToSenderFolder"> > <folder> Sent Items </folder> > <consume> false </consume> > </mailet> > > <!-- Is the recipient is for a local account, deliver it locally --> > <mailet match="RecipientIsLocal" class="LocalDelivery"/> > > <!-- If the host is handled by this server and it did not get --> > <!-- locally delivered, this is an invalid recipient --> > <mailet match="HostIsLocal" class="ToProcessor"> > <processor>local-address-error</processor> > <notice>550 - Requested action not taken: no such user here</notice> > </mailet> > <!-- CHECKME! --> > <!-- This is an anti-relay matcher/mailet combination --> > <!-- --> > <!-- Emails sent from servers not in the network list are --> > <!-- rejected as spam. This is one method of preventing your --> > <!-- server from being used as an open relay. Make sure you > understand --> > <!-- how to prevent your server from becoming an open relay before --> > <!-- changing this configuration. See also<authorizedAddresses>in SMTP > Server --> > <!-- --> > <!-- This matcher/mailet combination must come after local delivery > has --> > <!-- been performed. Otherwise local users will not be able to > receive --> > <!-- email from senders not in this remote address list. --> > <!-- --> > <!-- If you are using this matcher/mailet you will probably want to --> > <!-- update the configuration to include your own network/addresses. > The --> > <!-- matcher can be configured with a comma separated list of IP > addresses --> > <!-- wildcarded IP subnets, and wildcarded hostname subnets. --> > <!-- e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*" --> > <!-- --> > <!-- If you are using SMTP authentication then you can (and generally > --> > <!-- should) disable this matcher/mailet pair. --> > <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"> > <processor>relay-denied</processor> > <notice>550 - Requested action not taken: relaying denied</notice> > </mailet> > <!-- Attempt remote delivery using the specified repository for the > spool, --> > <!-- using delay time to retry delivery and the maximum number of > retries --> > <mailet match="All" class="RemoteDelivery"> > <outgoingQueue>outgoing</outgoingQueue> > <!-- Delivery Schedule based upon RFC 2821, 4.5.4.1 --> > <!-- 5 day retry period, with 4 attempts in the first > hour, two more within the first 6 hours, and then > every 6 hours for the rest of the period. > This format is not yet supported, instead, use a unique > tag with the list of delays in milliseconds separated by > commas. > <delayTime>5 minutes</delayTime> > <delayTime>10 minutes</delayTime> > <delayTime>45 minutes</delayTime> > <delayTime>2 hours</delayTime> > <delayTime>3 hours</delayTime> > <delayTime>6 hours</delayTime> > --> > <delayTime>5000, 100000, 500000</delayTime> > <maxRetries>25</maxRetries> > > <!-- The max reties which will used if no A or MX record for the > domain was found. --> > <!-- If 0 it will fail on first time --> > <maxDnsProblemRetries>0</maxDnsProblemRetries> > <!-- The number of threads that should be trying to deliver > outgoing messages --> > <deliveryThreads>10</deliveryThreads> > <!-- If false the message will not be sent to given server if any > recipients fail --> > <sendpartial>true</sendpartial> > > <!-- By default we send bounces to the "bounce" processor --> > <!-- By removing this configuration James will fallback to > hardcoded bounce --> > <!-- notifications --> > <bounceProcessor>bounces</bounceProcessor> > <!-- A single mail server to deliver all outgoing messages. --> > <!-- This is useful if this server is a backup or failover machine, > --> > <!-- or if you want all messages to be routed through a particular > mail server, --> > <!-- regardless of the email addresses specified in the message --> > <!-- --> > <!-- The gateway element specifies the gateway SMTP server name. --> > <!-- If your gateway mail server is listening on a port other than > 25, --> > <!-- you can set James to connect to it on that port using the > gatewayPort --> > <!-- element. --> > <!-- Although normally multiple addresses are implemented through > proper --> > <!-- DNS configuration, the RemoteDelivery mail does allow > specifying --> > <!-- multiple gateway elements, each of which may also have a port > --> > <!-- e.g., mygateway:2525 --> > <!-- the gatewayPort element is used as a default --> > <!-- > <gateway>otherserver.mydomain.com</gateway> > <gatewayPort>25</gatewayPort> > --> > <!-- If the gateway requires smtp authentication the following > directives --> > <!-- (gatewayUsername/gatewayPassword) can be used. --> > <!-- > <gatewayUsername>login</gatewayUsername> > <gatewayPassword>pass</gatewayPassword> > --> > > <!-- Set the HELO/EHLO name to use when connectiong to remote > SMTP-Server --> > > <mail.smtp.localhost>tatatech1.com</mail.smtp.localhost> > > </mailet> > </processor> > <!-- Processor CONFIGURATION SAMPLE: spam is a sample custom processor > for handling --> > <!-- spam. --> > <!-- You can either log these, bounce these, or just ignore them. --> > <processor state="spam" enableJmx="true"> > > <!-- To place the spam messages in the user junk folder, uncomment > this matcher/mailet configuration --> > <!-- > <mailet match="RecipientIsLocal" class="ToRecipientFolder"> > <folder>Junk</folder> > <consume>false</consume> > </mailet> > --> > <!-- To destroy all messages, uncomment this matcher/mailet > configuration --> > <!-- > <mailet match="All" class="Null"/> > --> > <!-- To notify the sender their message was marked as spam, uncomment > this matcher/mailet configuration --> > <!-- > <mailet match="All" class="Bounce"/> > --> > <!-- To notify the postmaster that a message was marked as spam, > uncomment this matcher/mailet configuration --> > <!-- > <mailet match="All" class="NotifyPostmaster"/> > --> > <!-- To log the message to a repository, this matcher/mailet > configuration should be uncommented. --> > <!-- This is the default configuration. --> > <mailet match="All" class="ToRepository"> > <repositoryPath>file://var/mail/spam/</repositoryPath> > <!-- Changing the repositoryPath, as in this commented out example, > will --> > <!-- cause the mails to be stored in a database repository. --> > <!-- Please note that only one repositoryPath element can be > present for the mailet --> > <!-- configuration. --> > <!-- > <repositoryPath>db://maildb/deadletter/spam</repositoryPath> > --> > </mailet> > </processor> > <!-- messages containing viruses. --> > <processor state="virus" enableJmx="true"> > > <!-- To avoid a loop while bouncing --> > <mailet match="All" class="SetMailAttribute"> > <org.apache.james.infected>true, > bouncing</org.apache.james.infected> > </mailet> > <!-- If the sender is authenticated, notify the infection --> > <mailet match="SMTPAuthSuccessful" class="Bounce"> > <inline>heads</inline> > <attachment>none</attachment> > <notice>Warning: We were unable to deliver the message below > because it was found infected by virus(es).</notice> > </mailet> > <!-- In any other situation ghost it, --> > <!-- as viruses almost always spoof the sender's address --> > <mailet match="All" class="Null" /> > </processor> > <!-- This processor handles messages that are for local domains, where > the user is unknown --> > <processor state="local-address-error" enableJmx="true"> > <!-- To avoid bouncing/archiving spam, uncomment this matcher/mailet > configuration --> > <!-- > <mailet match="HasMailAttribute=isSpam" class="Null" > onMatchException="noMatch"/> > --> > <!-- To notify the sender the address was invalid, uncomment this > matcher/mailet configuration --> > <!-- The original message is not attached to keep the bounce processor > from deliverying spam --> > <!-- > <mailet match="All" class="Bounce"> > <attachment>none</attachment> > </mailet> > --> > <!-- To notify the postmaster that a message had an invalid address, > uncomment this matcher/mailet configuration --> > <!-- > <mailet match="All" class="NotifyPostmaster"/> > --> > <mailet match="All" class="ToRepository"> > <repositoryPath>file://var/mail/address-error/</repositoryPath> > <!-- An alternative database repository example follows. --> > <!-- > > <repositoryPath>db://maildb/deadletter/address-error</repositoryPath> > --> > </mailet> > </processor> > <!-- This processor handles messages that are for foreign domains, where > relaying is denied --> > <!-- As of James v2.2, this processor can be deprecated by using > the<authorizedAddresses>tag > in the SMTP Server, and rejecting the message in the protocol > transaction. --> > <processor state="relay-denied" enableJmx="true"> > <!-- To notify the sender the address was invalid, uncomment this > matcher/mailet configuration --> > <!-- The original message is not attached to keep the bounce processor > from deliverying spam --> > <!-- > <mailet match="All" class="Bounce"> > <attachment>none</attachment> > </mailet> > --> > <!-- To notify the postmaster that a relay request was denied, > uncomment this matcher/mailet configuration --> > <!-- > <mailet match="All" class="NotifyPostmaster"/> > --> > <mailet match="All" class="ToRepository"> > <repositoryPath>file://var/mail/relay-denied/</repositoryPath> > <!-- An alternative database repository example follows. --> > <!-- > <repositoryPath>db://maildb/deadletter/relay-denied</repositoryPath> > --> > </mailet> > </processor> > <!-- This processor handle the bounces from RemoteDelivery: As of James > v2.3, this is the new --> > <!-- Default. --> > <!-- --> > <!-- DSNBounce properly create a DSN compliant bounce --> > <processor state="bounces" enableJmx="true"> > <mailet match="All" class="DSNBounce"> > <passThrough>false</passThrough> > <!-- optional subject prefix prepended to the original message --> > <!-- > <prefix>[bounce]</prefix> > --> > > <!-- message, heads or none, default=message --> > <!-- > <attachment>heads</attachment> > --> > > <!-- the message sent in the bounce, the first occurrence of the > pattern [machine] is --> > <!-- replaced with the name of the executing machine --> > <!-- Default: Hi. This is the James mail server at [machine] ... --> > <!-- > <messageString>Here is [machine]. I'm not able to deliver this > message.</messageString> > --> > </mailet> > </processor> > </processors> > </mailetcontainer> -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org