sendmail program mail getting queued

In this example, mail using the sendmail program mailer for delivery is getting queued rather than delivered immediately.

# /usr/sbin/sendmail -bv it_unix_primary
"|/etc/mail/email2ipage IT_UNIX_PRIMARY";... deliverable: mailer prog, user "|/etc/mail/email2ipage IT_UNIX_PRIMARY

The reason the mail is queued is because the prog mailer is "expensive" and HoldExpensive is effectively set to true. If HostExpensive is set to true, mail delivered to expensive mailers will not be delivered immediately, but will be processed during the next queue run.

$ grep ^Mprog /etc/mail/sendmail.cf
Mprog,          P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,

The "e" in F= above indicates the mailer is expensive.

From doc/op/op:

e    This mailer is expensive to connect to, so try to avoid connecting normally; any necessary connection
will occur during a queue run. See also option HoldExpensive.

HoldExpensive may be either true, false, have no boolean value, or be missing entirely from sendmail.cf.

True -- Expensive mail is queued
False -- Expensive mail is not queued
Boolean value missing -- Expensive mail is queued
Missing entirely -- Expensive mail is not queued

$ grep HoldExpensive /etc/mail/sendmail.cf
O HoldExpensive=

In this case, the boolean value is missing, so expensive mail is queued. To set HoldExpensive to false, place the following in sendmail.mc:

define(`confCON_EXPENSIVE',false)

As usual, rebuild sendmail.cf, and reload the sendmail configuration to have the change take effect.

Back to brandonhutchinson.com.
Last modified: 2007/05/08