Sendmail: Number of queue runners?
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 -
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.
More information about the MailScanner