Sendmail – Fix Queues Stuck in /var/spool/clientmqueue

emailsendmailsolaris-10

This is a continuation of my previous question here. The troubleshooting has gotten me a little further, and I think I'm facing a new set of problems now. Originally, I found out that sendmail wasn't listening on port 25 anymore, but I fixed this by increasing the values of the QueueLA and RefuseLA. I can telnet to port 25, and send email manually using SMTP commands. However, when I try sendmail:

[netcool1 (root)/]$ sendmail -v me@myemail.com < ~/testmessage
me@myemail.com... queued
[netcool1 (root)/]$ mailq
/var/spool/mqueue is empty
                Total requests: 0
[netcool1 (root)/]$ cd /var/spool/mqueue/
[netcool1 (root)/var/spool/mqueue]$ ls -la
total 6
drwxr-x---   2 root     bin         2048 Jan 11 11:54 .
drwxr-xr-x  13 root     bin          512 Jul 10  2009 ..
[netcool1 (root)/var/spool/mqueue]$ cd ../clientmqueue/
[netcool1 (root)/var/spool/clientmqueue]$ ls -la
total 76
drwxrwx---   2 smmsp    smmsp      22016 Jan 11 12:19 .
drwxr-xr-x  13 root     bin          512 Jul 10  2009 ..
-rw-rw----   1 smmsp    smmsp        100 Jan 11 07:03 dfq0BC3b8H007834
-rw-rw----   1 smmsp    smmsp         99 Jan 11 07:33 dfq0BCXba1008078
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:02 dfq0BH29Zu010211
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:13 dfq0BHDeEA010348
-rw-rw----   1 smmsp    smmsp        117 Jan 11 12:16 dfq0BHGuda010384
-rw-rw----   1 smmsp    smmsp        117 Jan 11 12:18 dfq0BHI9Q4010389
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:19 dfq0BHJjEv010410
-rw-rw----   1 smmsp    smmsp        871 Jan 11 07:03 qfq0BC3b8H007834
-rw-rw----   1 smmsp    smmsp        870 Jan 11 07:33 qfq0BCXba1008078
-rw-rw----   1 smmsp    smmsp        542 Jan 11 12:02 qfq0BH29Zu010211
-rw-rw----   1 smmsp    smmsp        562 Jan 11 12:13 qfq0BHDeEA010348
-rw-rw----   1 smmsp    smmsp        583 Jan 11 12:16 qfq0BHGuda010384
-rw-rw----   1 smmsp    smmsp        583 Jan 11 12:18 qfq0BHI9Q4010389
-rw-rw----   1 smmsp    smmsp        562 Jan 11 12:19 qfq0BHJjEv010410
-rw-------   1 smmsp    smmsp         34 Jan 11 12:12 sm-client.pid
[netcool1 (root)/var/spool/clientmqueue]$ sendmail -q -v
[netcool1 (root)/var/spool/clientmqueue]$ ls -la
total 76
drwxrwx---   2 smmsp    smmsp      22016 Jan 11 12:19 .
drwxr-xr-x  13 root     bin          512 Jul 10  2009 ..
-rw-rw----   1 smmsp    smmsp        100 Jan 11 07:03 dfq0BC3b8H007834
-rw-rw----   1 smmsp    smmsp         99 Jan 11 07:33 dfq0BCXba1008078
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:02 dfq0BH29Zu010211
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:13 dfq0BHDeEA010348
-rw-rw----   1 smmsp    smmsp        117 Jan 11 12:16 dfq0BHGuda010384
-rw-rw----   1 smmsp    smmsp        117 Jan 11 12:18 dfq0BHI9Q4010389
-rw-rw----   1 smmsp    smmsp         15 Jan 11 12:19 dfq0BHJjEv010410
-rw-rw----   1 smmsp    smmsp        871 Jan 11 07:03 qfq0BC3b8H007834
-rw-rw----   1 smmsp    smmsp        870 Jan 11 07:33 qfq0BCXba1008078
-rw-rw----   1 smmsp    smmsp        542 Jan 11 12:02 qfq0BH29Zu010211
-rw-rw----   1 smmsp    smmsp        562 Jan 11 12:13 qfq0BHDeEA010348
-rw-rw----   1 smmsp    smmsp        583 Jan 11 12:16 qfq0BHGuda010384
-rw-rw----   1 smmsp    smmsp        583 Jan 11 12:18 qfq0BHI9Q4010389
-rw-rw----   1 smmsp    smmsp        562 Jan 11 12:19 qfq0BHJjEv010410
-rw-------   1 smmsp    smmsp         34 Jan 11 12:12 sm-client.pid
[netcool1 (root)/var/spool/clientmqueue]$ cat sm-client.pid 
10344
/usr/lib/sendmail -Ac -q15m
[netcool1 (root)/var/spool/clientmqueue]$ 

I've been working on this for three days now, any help would be appreciated.

Edit: Contents of submit.mc (the only version I could find under /etc/mail was under /etc/mail/cf/cf):

$ more submit.mc 
divert(-1)
#
# Copyright (c) 2001, 2002 Sendmail, Inc. and its suppliers.
#       All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#ident  "@(#)submit.mc  1.3     02/12/29 SMI"
#

#
#  This is the prototype file for a set-group-ID sm-msp sendmail that
#  acts as a initial mail submission program.
#

divert(0)dnl
VERSIONID(`$Id: submit.mc,v 8.6.2.4 2002/12/29 03:54:34 ca Exp $')
define(`confCF_VERSION', `Submit')dnl
define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining
define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet
define(`confTIME_ZONE', `USE_TZ')dnl
define(`confDONT_INIT_GROUPS', `True')dnl
dnl
dnl If you use IPv6 only, change [127.0.0.1] to [IPv6:::1]
FEATURE(`msp', `[127.0.0.1]')dnl

I'm wondering if this still has something to do with the RefuseLA and QueueLA values. I've set them impossibly high (QueueLA = 50, RefuseLA = 60) because this server really only sends emails from scripts and has a high LA due to many multi-threaded listeners. The increased RefuseLA got sendmail to listen on port 25 again (see previous question), but QueueLA doesn't seem to have any effect on the queuing. However, suddenly last night around 1900, the server sent through all the test emails that I had sent during the day.

Best Answer

Since the default value of QueueLA is 8 * numproc and for RefuseLA 12 * numproc a value of 50 may not be that ridiculous. Try however swapping the values of QueueLA and RefuseLA so that QueueLA > RefuseLA. This trick comes from Vixie and Avolio (Sendmail Theory and Practice):

"Setting them as shown here gives Sendmail a range of load average in which it is capable of delivering messages from its queue but incapable of receiving new messages. This is intentional. If you set Ox to be less than OX, Sendemail has instead a range of load average in which it can receive new mail (thus adding to the queue) but cannot deliver any queued mail."

Let us know what happens