Tips and Tricks for Sendmail
mailq
Prints the mail queue's contents, same as /usr/lib/sendmail bp
newaliases
Rebuilds the aliases database file, same as /usr/lib/sendmail bi
hoststat
Prints persistent host status info, same as /usr/lib/sendmail -bh
purgestat
Purges (zeroes) persistent host status info, same as /usr/lib/sendmail -bH
smtpd
Runs in daemon mode, same as /usr/lib/sendmail bd q30
mailq OmaxQueueRunSize=1
- Quickly print the total number of messages within mail queue
/usr/lib/sendmail q Otimeout.queuereturn=99d - Purges the mail queue without timing out any messages. Useful if the mail server
has been down longer than the queuereturn value set in the cf.
/usr/lib/sendmail bv foolist | grep v deliverable - Prints only undeliverable addresses from in the mail list foolist. Great for
use in a shell script to remove badd addresses from a mailing list.
Command Line Switches
-B 7bit
- Causes sendmail to clear the high-bit of every incoming byte.
-B 8bitmime
Causes sendmail to preserve the high-bit or every incoming byte.
-ba
Uses ARPAnet/Grey-Book protocols to transfer mail.
-bD
Runs as daemon, like bd, but does not fork and does not detach from controlling terminal.
-bd
Runs as daemon, forks and detaches.
-bH -
Purges (zeroes) persistent host status info.
-bh -
Prints persistent host status info.
-bi -
Initializes the aliases database.
-bm
Causes sendmail to read and send message (this is the default)
-bp
Prints the contents of the mail queue.
-bs
Runs sendmail on standard I/O.
-bt
Runs sendmail in rule testing mode.
-bv <address>
- Verifies address.
-C /tmp/different.cf
Uses different.cf as its configuration file.
-c - Sets
HoldExpensive option to true.
-d <facility.level>
- set debug mode.
- -d0 Shows general config
- -d0.1 Prints version
- -d.04 Prints local hostname and any aliases for it.
- -d0.15 Prints the list of delivery agents declared
- -d0.20 Prints address of each network interface
- -d8 Traces most DNS lookups
- -d8.1 Prints failure of low level MX searches.
- -d8.2 Prints calls to getcanonname
- -d8.3 - Traces dropped local hostnames
- -d8.5 Shows hostnames tried in getcanonname
- -d8.8 Shows when MX lookups return the wrong type.
- -d11 Traces delivery agent calls
- -d11.1 Traces arguments passed to the delivery agent
- -d11.2 - Prints the user ID that the delivery agent is invoked as
- -d21 Traces rewriting of addresses
- -d21.1- Traces general ruleset rewriting
- -d21.2 Traces use of $& macro
- -d21.3 Shows $> subroutines called
- -d21.4 Displays result of rewrite
- -d21.15 Shows $digit replacement
- -d21.35 shows token by token LHS matching
- -d27 Traces aliasing
- -d27.1 Traces general aliasing
- -d27.2 Traces :include: files, alias self-references, and errors on
home
- -d27.3 Traces the ~/.forward path and the alias wait
- -d27.4 Prints "not safe" when a file is unsafe to trust
- -d27.9 Shows uid/gid changes when reading :include: files
- -d35 Traces macros
- -d35.9 shows macro values as they are defined
- -d35.14 Shows macro names being converted to integer ids
- -d35.24 Shows macro expansion
- -d37 Traces options and class macros
- -d37.1 Traces the setting of options
- -d37.8 Traces the adding of words to a class
- -d41 Traces the queue
- -d41.1 Traces queue ordering
- -d41.2 Shows failure to open qf files
- -d41.49 Shows skipped queue files
- -d41.50 Show every file in queue
-F <name>
- Set senders full name
-f <address>
- Set senders address
-h <count>
- Set minimum hop count
-i Set
IgnoreDots option to true
-M<macro><value>
- Set macro
-N<switch>
- Set return DNS notify information
- never
Never return the info
- success
Return on successful delivery
- failure
Return on failure
- delay
Return on delayed delivery
-n Supresses
aliasing
-O<option=value>
- Set an option (long name)
-o Set
an option (short name)
-pUUCP:test
Sets protocol in $r macro to UUCP and $s macro to test
-q30m
Sets queue processing to every 30 min
-qR@here.com
Processes the queue once delivering only mail to @here.com
-R hdrs
bounces only the headers
-R full
Bounces headers and body
-s Sets
SaveFromLine option to true
-T 5d
Sets Timeout.queuereturn option to 5 days
-t Gathers
a list of recipients from messages headers
-U make
this the initial MUA to MTA submission
-V test123456
Sets the DSN ENVID string to test123456
-v Runs
sendmail in verbose mode
-X /var/tmp/trace.mail
Logs both sides of smtp transactions to trace.mail file.
Rule Testing Mode (/usr/lib/sendmail bt)
? Prints
help
.DrUUCP
Defines macro r as UUCP
=S5
Prints the contents of ruleset 5
=M Displays
list of delivery agents
${name}
Prints the value of macro name.
$=w
prints the contents of the class macro w
/mx here.com
Returns the MX records for here.com in the order they will be utilized
/parse foo
Parses the value of the address foo, returns the value of crackaddr(), and the final parsed address including
the delivery agent.
/try local foo
Rewrites the address foo based on the rules for local delivery
/tryflags HS
Sets the flags used by /parse and /try to H for header and S for sender, can also use E for envelope and R for
recipient
/canon foo
- Transforms the hostname foo into its canonical form
/map aliases foo
Looks up foo in the aliases database
3,0 me@foo
Runs the address me@foo through rulesets 3 and 0
|