blank.gif (43 bytes)

Church Of The
Swimming Elephant


Sendmail Quick Reference

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/ – Uses 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 id’s
  • -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 – Processes the queue once delivering only mail to

-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 – Returns the MX records for 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




Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!

Service Details

Have you gone to church today?
All pages ©1999, 2000, 2001, 2002, 2003 Church of the Swimming Elephant unless otherwise stated
Church of the Swimming Elephant©1999, 2000, 2001, 2002, 2003 is a wholly owned subsidiary of Packetderm, LLC.

Packetderm, LLC
210 Park Ave #308
Worcester, MA 01609