Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MAILWRAPPER(8)		FreeBSD	System Manager's Manual		MAILWRAPPER(8)

     mailwrapper -- invoke appropriate MTA software based on configuration

     Special.  See below.

     Once upon time, the only Mail Transfer Agent (MTA)	software easily	avail-
     able was "sendmail".  This	famous MTA was written by Eric Allman and
     first appeared in 4.1BSD.	The legacy of this MTA affected	most Mail User
     Agents (MUAs) such	as mail(1); the	path and calling conventions expected
     by	"sendmail" were	compiled in.

     But times changed.	 On a modern FreeBSD system, the administrator may
     wish to use one of	several	available MTAs.

     It	would be difficult to modify all MUA software typically	available on a
     system, so	most of	the authors of alternative MTAs	have written their
     front end message submission programs that	may appear in the place	of
     /usr/sbin/sendmail, but still follow the same calling conventions as

     The "sendmail" MTA	also typically has aliases named mailq(1) and
     newaliases(1) linked to it.  The program knows to behave differently when
     its argv[0] is "mailq" or "newaliases" and	behaves	appropriately.	Typi-
     cally, replacement	MTAs provide similar functionality, either through a
     program that also switches	behavior based on calling name,	or through a
     set of programs that provide similar functionality.

     Although having replacement programs that plug replace "sendmail" helps
     in	installing alternative MTAs, it	essentially makes the configuration of
     the system	depend on hand installing new programs in /usr.	 This leads to
     configuration problems for	many administrators, since they	may wish to
     install a new MTA without altering	the system provided /usr.  (This may
     be, for example, to avoid having upgrade problems when a new version of
     the system	is installed over the old.)  They may also have	a shared /usr
     among several machines, and may wish to avoid placing implicit configura-
     tion information in a read-only /usr.

     The mailwrapper program is	designed to replace /usr/sbin/sendmail and to
     invoke an appropriate MTA based on	configuration information placed in
     ${LOCALBASE}/etc/mail/mailer.conf falling back on /etc/mail/mailer.conf.
     This permits the administrator to configure which MTA is to be invoked on
     the system	at run time.

     Other configuration files may need	to be altered when replacing
     sendmail(8).  For example,	if the replacement MTA does not	support	the -A
     option with mailq(1), daily_status_include_submit_mailq should be turned
     off in /etc/periodic.conf.

     Configuration for mailwrapper is kept in
     ${LOCALBASE}/etc/mail/mailer.conf or /etc/mail/mailer.conf.
     /usr/sbin/sendmail	is typically set up as a symbolic link to mailwrapper
     which is not usually invoked on its own.

     The mailwrapper utility exits 0 on	success, and >0	if an error occurs.

     The mailwrapper will print	a diagnostic if	its configuration file is
     missing or	malformed, or does not contain a mapping for the name under
     which it was invoked.

     dma(8), mail(1), mailq(1),	newaliases(1), mailer.conf(5),
     periodic.conf(5), sendmail(8)

     The mailwrapper utility first appeared in NetBSD 1.4 and then
     FreeBSD 4.0.

     Perry E. Metzger <>

     The entire	reason this program exists is a	crock.	Instead, a command for
     how to submit mail	should be standardized,	and all	the "behave
     differently if invoked with a different name" behavior of things like
     mailq(1) should go	away.

FreeBSD	13.0		       October 29, 2014			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help