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 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
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 configura-
tion 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 was invoked.
mail(1), mailq(1), newaliases(1), postfix(1), mailer.conf(5)
The mailwrapper program appeared in NetBSD 1.4.
Perry E. Metzger <firstname.lastname@example.org>
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.
April 10, 2010 BSD