MAILWRAPPER(8) BSD System Manager's Manual MAILWRAPPER(8)
mailwrapper -- invoke appropriate MTA software based on configuration file
Special. See below.
Once upon time, the only Mail Transfer Agent (MTA) software easily available 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 call-
ing conventions expected by ``sendmail'' were compiled in.
But times changed. On a modern NetBSD system, the administrator may wish to use one of sev-
eral 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 con-
ventions as ``sendmail''.
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 is ``mailq'' or ``newaliases''
and behaves appropriately. Typically, 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 administra-
tors, 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 configuration information in a read-only /usr.
The mailwrapper program is designed to replace /usr/sbin/sendmail and to invoke an appropri-
ate MTA based on configuration information placed in /etc/mailer.conf. This permits the
administrator to configure which MTA is to be invoked on the system at run time.
mailwrapper exits 0 on success, and >0 if an error occurs.
Configuration for mailwrapper is kept in /etc/mailer.conf. /usr/sbin/sendmail is typically
set up as a symlink to mailwrapper which is not usually invoked on its own.
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.
mail(1), mailq(1), newaliases(1), postfix(1), mailer.conf(5)
The mailwrapper program appeared in NetBSD 1.4.
Perry E. Metzger <email@example.com>
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.
BSD April 10, 2010 BSD