Filters Forwarding Messages with Attachments Over 1MB
Hi guys/gals!
I am running into an issue where certain messages ended up delivered multiple times to a user's mailbox.
After much troubleshooting, we think we caught how this is happening. However I'm not sure if there is a problem in our deployment or if its a bug. I was hoping some of the folks here could try to duplicate this so we can figure this out.
Steps to reproduce:
a) Setup a filter that includes a rule to file a message into a folder and forward to another off-server location
b) Send an email that includes an attachment over 1MB to the account so that it is processed by the filter.
c) Check /opt/zimbra/log/mailbox.log for something like:
Code:
2008-04-30 12:25:04,609 WARN [LmtpServer-18949] [name=xxx@yyy.com;mid=5;] filter - Redirect to zzz@aaa.com failed. Saving message to INBOX. javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
2008-04-30 12:25:04,611 INFO [LmtpServer-18949] [name=xxx@yyy.com;mid=5;] mailop - Adding Message: id=1037066, Message-ID=<a17527720804300923p412e4cfw757a0a4c8a0f888c@mail.gmail.com>, parentId=1037018, folderId=2, folderName=Inbox.
2008-04-30 12:25:04,623 INFO [LmtpServer-18949] [] ProtocolHandler - Exception occurred while handling connection
java.lang.NullPointerException at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138) at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.store.BlobInputStream.closeFile(BlobInputStream.java:138)
at com.zimbra.cs.mime.ParsedMessage.closeFile(ParsedMessage.java:1297) at com.zimbra.cs.lmtpserver.ZimbraLmtpBackend.deliverMessageToLocalMailboxes(ZimbraLmtpBackend.java:467)
at com.zimbra.cs.lmtpserver.ZimbraLmtpBackend.deliver(ZimbraLmtpBackend.java:136)
at com.zimbra.cs.lmtpserver.LmtpHandler.processMessageData(LmtpHandler.java:375)
at com.zimbra.cs.lmtpserver.TcpLmtpHandler.continueDATA(TcpLmtpHandler.java:67)
at com.zimbra.cs.lmtpserver.LmtpHandler.doDATA(LmtpHandler.java:364)
at com.zimbra.cs.lmtpserver.LmtpHandler.processCommand(LmtpHandler.java:174)
at com.zimbra.cs.lmtpserver.TcpLmtpHandler.processCommand(TcpLmtpHandler.java:61)
at com.zimbra.cs.tcpserver.ProtocolHandler.processConnection(ProtocolHandler.java:160)
at com.zimbra.cs.tcpserver.ProtocolHandler.run(ProtocolHandler.java:128)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
2008-04-30 12:25:04,624 INFO [LmtpServer-18949] [] ProtocolHandler - Handler exiting normally
d) Check the defered mail queue about a minute or two later to see if the message ends up defered.
It will deliver a copy locally, then the defered copy will stay in the queue and keep delivering locally as it continues to try to deliver remotely.
Thanks!