MAILWRAPPER(8) 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
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 calling conventions
expected by ``sendmail'' were compiled in.
But times changed. On a modern NetBSD 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 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 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
configuration 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
/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
mail(1), mailq(1), newaliases(1), postfix(1), mailer.conf(5)
The mailwrapper program appeared in NetBSD 1.4.
Perry E. Metzger <perryATpiermont.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.
NetBSD 6.1.5 April 10, 2010 NetBSD 6.1.5