Dealing with Frozen Messages

Especially on skyjammer, so-called "frozen" messages have been a problem in Exim 3. (I think they're mostly caused by bogus return addresses for errors, but can happen for other reasons, too.) At one point, we had over 8000 frozen messages on skyjammer and we were getting many, many "Message Frozen" notifications from Exim every day. Exim eventually times out and deletes the frozen messages, but they're still a pain.

At the time, I couldn't figure out where the messages were coming from, so I came up with two ways to lessen the administrative load associated with them. The first was to turn off the notifications:

   # Send a mail to the postmaster when a message is frozen. There are many
   # reasons this could happen; one is if exim cannot deliver a mail with no
   # return address (normally a bounce) another that may be common on dialup
   # systems is if a DNS lookup of a smarthost fails. Read the documentation
   # for more details: you might like to look at the auto_thaw option

   freeze_tell_mailmaster = false

The second was to come up with a quick method of blowing away all frozen messages so I could get on with my life:

   cd /var/log/exim
   exim -Mrm $(grep 'Message is frozen' mainlog | awk '{print $3}' | sort | uniq)

Unfortunately, this method doesn't distinguish between legitimately frozen messages (messages which for some valid reason cannot be delivered at the present time) and the real "stuck" messages. However, I don't have the time to look through 500 or 600 messages to see which is which... so I live with it.

EximFrozenMessages (last edited 2008-07-09 06:21:31 by localhost)