Sendmail: Number of queue runners?

John Goggan jgoggan at gmail.com
Wed Aug 13 18:02:00 IST 2008


I have been using MailScanner with a sendmail configuration for years now.  
Today, I noticed that I had about 30 messages in my /var/spool/mqueue directory 
that had not been delivered -- some of which were over a month old.  After some 
research, it appears that almost all of them were to server that do 
greylisting -- so all of these were the deferred messages.

Basically, I don't see anything that would be watching mqueue for these 
messages and attempting to redeliver them.  Should I have another queue runner 
for mqueue?  We've always run like this:

One sendmail for incoming email that goes to mqueue.in:

sendmail -bd -L sm-mta -OPrivacyOptions=noetrn -ODeliveryMode=queueonly -
OQueueDirectory=/var/spool/mqueue.in

And one sendmail queue runner for local/clientmqueue:

sendmail -Ac -q15m -L sm-cm

We use Mailscanner with the "Delivery Method = batch" setting, so my 
understanding is that that means that MailScanner will take care of the 
messages after they get to mqueue.

This works fine -- except where there is a problem.  It appears that nothing 
ever retries them.  Is that correct?

As a solution, I've added another sendmail queue runner for mqueue:

sendmail -q15m -L sm-mq

So, I now have three sendmails: one daemon listening on 25 and putting mail in 
mqueue.in, one queue runner for local mail in clientmqueue, and one queue 
runner for mail that might hang out in mqueue if it doesn't go the first time 
MailScanner tells it to go.

Is that how it should be?  Almost all of the documentation or guides that I 
could find for setting up MailScanner with sendmail don't seem to mention that 
second queue runner for mqueue.  And, as I said, I ran for years without it 
(and likely missed sending some delayed emails now and then that were never 
retried).  I just want to make sure that I'm not missing something.

Thanks!

 - John...




More information about the MailScanner mailing list