1.\"	$OpenBSD: mailwrapper.8,v 1.12 2014/03/27 22:34:42 jmc Exp $
2.\"	$NetBSD: mailwrapper.8,v 1.16 2014/09/19 16:05:55 wiz Exp $
3.\"
4.\" Copyright (c) 1998
5.\" 	Perry E. Metzger.  All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgment:
17.\"	This product includes software developed for the NetBSD Project
18.\"	by Perry E. Metzger.
19.\" 4. The name of the author may not be used to endorse or promote products
20.\"    derived from this software without specific prior written permission.
21.\"
22.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32.\"
33.Dd October 29, 2014
34.Dt MAILWRAPPER 8
35.Os
36.Sh NAME
37.Nm mailwrapper
38.Nd invoke appropriate
39.Tn MTA
40software based on configuration file
41.Sh SYNOPSIS
42Special.
43See below.
44.Sh DESCRIPTION
45Once upon time, the only Mail Transfer Agent
46.Pq Tn MTA
47software easily available was
48.Dq sendmail .
49This famous
50.Tn MTA
51was written by
52.An Eric Allman
53and first appeared in
54.Bx 4.1 .
55The legacy of this
56.Tn MTA
57affected most Mail User Agents
58.Pq Tn MUAs
59such as
60.Xr mail 1 ;
61the path and calling conventions expected by
62.Dq sendmail
63were compiled in.
64.Pp
65But times changed.
66On a modern
67.Fx
68system, the administrator may wish to use one of several available
69.Tn MTAs .
70.Pp
71It would be difficult to modify all
72.Tn MUA
73software typically available on a system,
74so most of the authors of alternative
75.Tn MTAs
76have written their front end message submission programs
77that may appear in the place of
78.Pa /usr/sbin/sendmail ,
79but still follow the same calling conventions as
80.Dq sendmail .
81.Pp
82The
83.Dq sendmail
84.Tn MTA
85also typically has aliases named
86.Xr mailq 1
87and
88.Xr newaliases 1
89linked to it.
90The program knows to behave differently when its
91.Va argv[0]
92is
93.Dq mailq
94or
95.Dq newaliases
96and behaves appropriately.
97Typically, replacement
98.Tn MTAs
99provide similar functionality, either through a program that also
100switches behavior based on calling name, or through a set of programs
101that provide similar functionality.
102.Pp
103Although having replacement programs that plug replace
104.Dq sendmail
105helps in installing alternative
106.Tn MTAs ,
107it essentially makes the configuration of the system depend
108on hand installing new programs in
109.Pa /usr .
110This leads to configuration problems for many administrators, since
111they may wish to install a new
112.Tn MTA
113without altering the system provided
114.Pa /usr .
115(This may be, for example, to avoid having upgrade problems when a new
116version of the system is installed over the old.)
117They may also have a shared
118.Pa /usr
119among several machines, and may wish to avoid placing
120implicit configuration information in a read-only
121.Pa /usr .
122.Pp
123The
124.Nm
125program is designed to replace
126.Pa /usr/sbin/sendmail
127and to invoke an appropriate
128.Tn MTA
129based on configuration information placed in
130.Pa ${LOCALBASE}/etc/mail/mailer.conf
131falling back on
132.Pa /etc/mail/mailer.conf .
133This permits the administrator to configure which
134.Tn MTA
135is to be invoked on
136the system at run time.
137.Pp
138Other configuration files may need to be altered when replacing
139.Xr sendmail 8 .
140For example, if the replacement
141.Tn MTA
142does not support the
143.Fl A
144option with
145.Xr mailq 1 ,
146.Va daily_status_include_submit_mailq
147should be turned off in
148.Pa /etc/periodic.conf .
149.Sh FILES
150Configuration for
151.Nm
152is kept in
153.Pa ${LOCALBASE}/etc/mail/mailer.conf
154or
155.Pa /etc/mail/mailer.conf .
156.Pa /usr/sbin/sendmail
157is typically set up as a symbolic link to
158.Nm
159which is not usually invoked on its own.
160.Sh EXIT STATUS
161.Ex -std
162.Sh DIAGNOSTICS
163The
164.Nm
165will print a diagnostic if its configuration file is missing or malformed,
166or does not contain a mapping for the name under which it was invoked.
167.Sh SEE ALSO
168.Xr dma 8 ,
169.Xr mail 1 ,
170.Xr mailq 1 ,
171.Xr newaliases 1 ,
172.Xr mailer.conf 5 ,
173.Xr periodic.conf 5 ,
174.Xr sendmail 8
175.Sh HISTORY
176The
177.Nm
178utility first appeared in
179.Nx 1.4
180and then
181.Fx 4.0 .
182.Sh AUTHORS
183.An Perry E. Metzger Aq Mt perry@piermont.com
184.Sh BUGS
185The entire reason this program exists is a crock.
186Instead, a command
187for how to submit mail should be standardized, and all the
188.Dq behave differently if invoked with a different name
189behavior of things like
190.Xr mailq 1
191should go away.
192