kevinh has been beating me up about your problem.
From your initial posts it appears that the bottom portion of the message is chopped off even before it gets to amavisd-new.
So question is ... is this a bug in amavisd-new/MIME parser, or was the message corrupt even before it got to amavisd-new and/or postfix. One way to find out is to stop amavisd-new (even though it is enabled in postfix). This will cause postfix to queue files into the deferred queue. Then we can look at that queue file and see if the message was corrupt by the time it reached postfix. If it is OK in the postfix queue, and corrupt per amavisd-new we have a bug we need to track down (for which we would need the original message anyway, so this exercise is required either way).
Apr 21 10:49:45 email amavis: (25617-01) WARN: MIME::Parser error: part did not end with expected boundary
To stop amavisd-new do this as the zimbra user:
Then send the message and look for the queue file.
$ zmamavisdctl stop
Now locate where that queue file is and run postcat on it:
D125A828AF0 554 Wed May 3 11:21:57 email@example.com
Now see what the message contents are? Does it look OK? If it is already chopped then the problem is somewhere upstream of Zimbra. If not can you please post your queue file as an attachment.
# /opt/zimbra/postfix/sbin/postcat /opt/zimbra/postfix/spool/deferred/D/D125A828AF0