Another little tweak for dealing with MIMEDefang problems. Recently, someone sent me a large attachment via email. As we all know, this is a clear violation of the Geneva Convention, but there it was. Or rather, wasn't.
Large attachments haven't been a problem in the past, so I was a little surprised to see this one being bounced by sendmail due to apparent MIMEDefang errors. The culprit turned out to be Sendmail's milter timeouts coupled with a higher-than-normal load on the server. Scanning the attachment took longer than the timeout set on that milter, and thus, the message was rejected with a 451 error. The fix was to increase those timeouts in the sendmail.mc file thusly:
INPUT_MAIL_FILTER(`mimedefang', `S=local:/var/spool/MIMEDefang/mimedefang.sock, F=T, T=C:15m;S:10m;R:10m;E:15m')dnl
The timeouts are in the flags at the end of the string:
C - Timeout for connecting to a milter. If this is set to zero, use the system connect timeout
E - Overall timeout between sending end-of-message to milter and waiting for the final response
R - Timeout for reading a reply from the milter
S - Timeout for sending information from the MTA to a milter
A quick fix, and perhaps a bandaid to be sure. I think it might be time to drop some new hardware into that mailserver. In the past week, over 190,000 incoming emails were rejected by the DNSBL filters alone, not to mention the tens of thousands that weren't, but were caught by greylisting, SpamAssassin, and clamav. That's a lot of work for an elderly HP Kayak XU500...