Sendmail mail queue backed up



Sendmail is not my favorite MTA. I really prefer Postfix, but… I have to use sendmail in a few situations. I’ve run a little script on the web server for a good while to monitor the mail queue. I was running into a problem where I had LOTS of messages backed up. I suspected I had been hit originally by a spam onslaught which had flooded the server and it had been throttled (VPS) to prevent causing problems for the other users and things got backed up.


The script I’ve used looks like this

#!/bin/sh
# mailalert.sh

threshold=20
currentnum=`ls -l /var/spool/mqueue/qf* | wc -l`

if [ $currentnum -gt $threshold ]
then
datestamp=`date`
mail postmaster -s “Mail Queue Alert” <<EOM

There are $currentnum messages in the mail queue on

$datestamp

Check /var/spool/mqueue

EOM
fi

It basically checks to see if there are more than 20 messages queued… so here are some ways to deal with the mailqueue in sendmail from the shell.

mailq shows all the messages that are currently queued waiting for a re-attempt.

sendmail -q starts processing the message queue. Most all of the messages backed up were because my home server had rejected the sender (using some of postfix’s UCE controls…) sendmail couldn’t deliver them and can’t deliver a bounce (forged message). I probably need to investigate how I might tighten the sendmail policy on not accepting from bogus addresses.

It’s possible though to delete items out of the queue by deleting them from /var/spool/mqueue Eventually, sendmail should give up on a message though and stop trying to deliver it or it’s bounce. (Don’t recall the default number of days.)

   Send article as PDF   

Similar Posts