Note: This web page was automatically created from a PalmOS "pedit32" memo.
sendmail notes
/usr/lib/sendmail -v -qIfLAA22711 | less -sc
This should do a verbose queue "sweep", but only for messages whose
queue ID contains the string "fLAA22711". The option itself is "-qI",
and sendmail doesn't want a space in between. -d2112 wasn't informative
in this case. This allowed us to quickly determine that a honeypot SMTP
server was being accessed only because the legitmate mail servers were
rejecting the message, each in turn, due to an unresolvable address in
the message envelope.
Here's part of some sample output:
250-mta7.service.uci.edu Hello aris.ss.uci.edu [128.195.148.9], pleased
to meet you
250-ENHANCEDSTATUSCODES
250-EXPN
250-VERB
250-8BITMIME
250-SIZE 20000000
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP
>>> MAIL
From:<michaelmoubray@africandevelopmentbankplc.net> SIZE=4038
451 4.1.8 <michaelmoubray@africandevelopmentbankplc.net>... Domain
of sender address michaelmoubray@africandevelopmentbankplc.net does
not resolve
jdkeys@uci.edu... Connecting to mta6.service.uci.edu. via ether...
jdkeys@uci.edu... Closing connection to mta7.service.uci.edu.
>>> QUIT
221 2.0.0 mta7.service.uci.edu closing connection
[root@wintermute ~]# grep silly /etc/mail/access
silly-user@somewhere.com ERROR:"550 Fix your stupid spam blocker"
Delivery agent flags:
You can find a pretty good list of the flags for your, for example,
Mlocal line, in:
./sendmail/sendmail.h
...within your sendmail source distribution.
This -may- be the flag to prevent delivery to maildrops when .forward's
are unavailable due to homedir (NFS) problems:
#define M_CHECKHDIR '~' /* SGI: check for valid home directory */
Am I the only one who noticed, during the dcs.nac downtime, that e-mail
that should've been refiled to a home directory folder, instead went
to /var/mail/$USER, apparently due to sendmail not waiting for the
homedir to come back prior to delivery?
Anyway, here are the mailer options for the RHEL Mlocal (local delivery
agent invocation) and the legacy mostly-V5 Mlocal we're using on most of
the others (so far :).
Legacy:
lsDFMAw5:/|@ SPfhn mE
RHEL:
lsDFMAw5:/|@qSPfhn9
So RHEL has the addition of:
q and 9
...and removed:
m and E
I had originally hypothesized that we needed the "~" option, until I saw
these differences. Also, although a header file in the sendmail
distribution defines this option, it apparently makes no attempt to
actually Use it.
Anyway, here are the (tersely defined) meanings of the options:
#define M_CHECKHDIR '~' /* SGI: check for valid home directory */
#define M_VRFY250 'q' /* VRFY command returns 250 instead of 252 */
#define M_MAKE8BIT '9' /* convert 7 -> 8 bit if appropriate */
#define M_MUSER 'm' /* can handle multiple users at once */
#define M_ESCFROM 'E' /* escape From lines to >From */
So none of those really look relevant.
This, in the release notes, does though, although it was introduced in
8.8.0 - IE, some time ago:
Only queue messages on transient .forward open failures if there
were no successful opens. The previous behavior caused it
to queue even if a "fall back" .forward was found. Problem
noted by Ann-Kian Yeo of the Dept. of Information Systems
and Computer Science (DISCS), NUS, Singapore.
Next time we see this, we'll probably have to make a note of which "E"
error is being generated by a missing home directory, and verify that it
is listed properly in transienterror() of conf.c in the sendmail
distribution.
When testing a sendmail change, it's usually important to test at -least-
the following:
1) Incoming mail from another system to sherlock
2) Incoming mail sent from sherlock to sherlock
3) Outgoing mail sent from sherlock to another system
Nice URL about configuring sendmail on Solaris:
http://www.brandonhutchinson.com/Configuring_the_Solaris-supplied_version_of_Sendmail.html
You can check the status of messages in that directory using the
mailq command. It normally looks in /var/spool/mqueue but you
can get it to look in other directories:
mailq -OQueueDirectory=/var/spool/clientmqueue
This also works for MailScanner inbound queue:
mailq -OQueueDirectory=/var/spool/mqueue.in
FYI,
I've updated 928-10-m4sendmail so that mail clients will not start
the sendmail binary in daemon mode, i.e. they will not answer on port
25. It will only run to process the /var/spool/mqueue and
/var/spool/clientmqueue directories. For Solaris 9 and 10, you will
need the "D{MTAHost}" field in /etc/mail/submit.cf to be set to
$MAILHOST for this to function correctly; the each script makes this
change for you.
If this causes a problem, you can remove the file
/etc/default/sendmail and change submit.cf field to
"D{MTAHost}[127.0.0.1]" to revert back to the previous behavior.
-Francisco