dma(8): Upgrade to v0.7.
[dragonfly.git] / libexec / dma / dma.8
1 .\"
2 .\" Copyright (c) 2008
3 .\"     The DragonFly Project.  All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\"
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in
13 .\"    the documentation and/or other materials provided with the
14 .\"    distribution.
15 .\" 3. Neither the name of The DragonFly Project nor the names of its
16 .\"    contributors may be used to endorse or promote products derived
17 .\"    from this software without specific, prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
23 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
25 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\" $DragonFly: src/libexec/dma/dma.8,v 1.10 2008/09/06 14:17:56 swildner Exp $
33 .\"
34 .Dd April 22, 2010
35 .Dt DMA 8
36 .Os
37 .Sh NAME
38 .Nm dma
39 .Nd DragonFly Mail Agent
40 .Sh SYNOPSIS
41 .Nm
42 .Op Fl DiOt
43 .Op Fl A Ns Ar mode
44 .Op Fl b Ns Ar mode
45 .Op Fl f Ar sender
46 .Op Fl L Ar tag
47 .Op Fl o Ns Ar option
48 .Op Fl r Ar sender
49 .Op Fl q Ns Op Ar arg
50 .Op Ar recipient ...
51 .Sh DESCRIPTION
52 .Nm
53 is a small Mail Transport Agent (MTA), designed for home and office use.
54 It accepts mails from locally installed Mail User Agents (MUA) and
55 delivers the mails either locally or to a remote destination.
56 Remote delivery includes several features like TLS/SSL support and SMTP
57 authentication.
58 .Pp
59 .Nm
60 is not intended as a replacement for real, big MTAs like
61 .Xr sendmail 8
62 or
63 .Xr postfix 1 .
64 Consequently,
65 .Nm
66 does not listen on port 25 for incoming connections.
67 .Pp
68 The options are as follows:
69 .Bl -tag -width indent
70 .It Fl A Ns Ar mode
71 .Fl \&Ac
72 acts as a compatibility option for sendmail.
73 .It Fl b Ns Ar mode
74 .Bl -tag -width indent
75 .It Fl bp
76 List all mails currently stored in the mail queue.
77 .It Fl bq
78 Queue the mail, but don't attempt to deliver it.
79 See also the
80 .Sq DEFER
81 config file setting below.
82 .El
83 .Pp
84 All other
85 .Ar mode Ns
86 s are are ignored.
87 .It Fl D
88 Don't run in the background.
89 Useful for debugging.
90 .It Fl f Ar sender
91 Set sender address (envelope-from) to
92 .Ar sender .
93 This overrides the value of the environment variable
94 .Ev EMAIL .
95 .It Fl i
96 Ignore dots alone on lines by themselves in incoming messages.
97 This should be set if you are reading data from a file.
98 .It Fl L Ar tag
99 Set the identifier used in syslog messages to the supplied
100 .Ar tag .
101 This is a compatibility option for sendmail.
102 .It Fl O
103 This is a compatibility option for sendmail.
104 .It Fl o Ns Ar option
105 Specifying
106 .Fl oi
107 is synonymous to
108 .Fl i .
109 All other options are ignored.
110 .It Fl q Ns Op Ar arg
111 Process saved messages in the queue.
112 The argument is optional and ignored.
113 .It Fl r Ar sender
114 Same as
115 .Fl f .
116 .It Fl t
117 Obtain recipient addresses from the message header.
118 .Nm
119 will parse the
120 .Li To: ,
121 .Li Cc: ,
122 and
123 .Li Bcc:
124 headers.
125 The
126 .Li Bcc:
127 header will be removed independent of whether
128 .Fl t
129 is specified or not.
130 .El
131 .Sh CONFIGURATION
132 .Nm
133 can be configured with three config files:
134 .Pp
135 .Bl -bullet -compact
136 .It
137 auth.conf
138 .It
139 dma.conf
140 .El
141 .Pp
142 These three files are stored per default in
143 .Pa /etc/dma .
144 .Sh FILE FORMAT
145 Every file contains parameters of the form
146 .Sq name value .
147 Lines containing boolean values are set to
148 .Sq NO
149 if the line is commented and to
150 .Sq YES
151 if the line is uncommented.
152 Empty lines or lines beginning with a
153 .Sq #
154 are ignored.
155 Parameter names and their values are case sensitive.
156 .Sh PARAMETERS
157 .Ss auth.conf
158 SMTP authentication can be configured in
159 .Pa auth.conf .
160 Each line has the format
161 .Dq Li user|smarthost:password .
162 .Ss dma.conf
163 Most of the behaviour of
164 .Nm
165 can be configured in
166 .Pa dma.conf .
167 .Bl -tag -width 4n
168 .It Ic SMARTHOST Xo
169 (string, default=empty)
170 .Xc
171 If you want to send outgoing mails via a smarthost, set this variable to
172 your smarthosts address.
173 .It Ic PORT Xo
174 (numeric, default=25)
175 .Xc
176 Use this port to deliver remote emails.
177 Only useful together with the
178 .Sq SMARTHOST
179 option, because
180 .Nm
181 will deliver all mails to this port, regardless of whether a smarthost is set
182 or not.
183 .It Ic ALIASES Xo
184 (string, default=/etc/aliases)
185 .Xc
186 Path to the local aliases file.
187 Just stick with the default.
188 The aliases file is of the format
189 .Dl nam: dest1 dest2 ...
190 In this case, mails to
191 .Li nam
192 will instead be delivered to
193 .Li dest1
194 and
195 .Li dest2 ,
196 which in turn could be entries in
197 .Pa /etc/aliases .
198 The special name
199 .Ql *
200 can be used to create a catch-all alias, which gets used if no other
201 matching alias is found.
202 Use the catch-all alias only if you don't want any local mail to be
203 delivered.
204 .It Ic SPOOLDIR Xo
205 (string, default=/var/spool/dma)
206 .Xc
207 Path to
208 .Nm Ap s
209 spool directory.
210 Just stick with the default.
211 .It Ic AUTHPATH Xo
212 (string, default=not set)
213 .Xc
214 Path to the
215 .Sq auth.conf
216 file.
217 .It Ic SECURETRANS Xo
218 (boolean, default=commented)
219 .Xc
220 Uncomment if you want TLS/SSL secured transfer.
221 .It Ic STARTTLS Xo
222 (boolean, default=commented)
223 .Xc
224 Uncomment if you want to use STARTTLS.
225 Only useful together with
226 .Sq SECURETRANS .
227 .It Ic OPPORTUNISTIC_TLS Xo
228 (boolean, default=commented)
229 .Xc
230 Uncomment if you want to allow the STARTTLS negotiation to fail.
231 Most useful when
232 .Nm
233 is used without a smarthost, delivering remote messages directly to
234 the outside mail exchangers; in opportunistic TLS mode, the connection will
235 be encrypted if the remote server supports STARTTLS, but an unencrypted
236 delivery will still be made if the negotiation fails.
237 Only useful together with
238 .Sq SECURETRANS
239 and
240 .Sq STARTTLS .
241 .It Ic CERTFILE Xo
242 (string, default=empty)
243 .Xc
244 Path to your SSL certificate file.
245 .It Ic SECURE Xo
246 (boolean, default=commented)
247 .Xc
248 Uncomment this entry and change it to
249 .Sq INSECURE
250 to use plain text SMTP login over an insecure connection.
251 You have to rename this variable manually to prevent that you send your
252 password accidentally over an insecure connection.
253 .It Ic DEFER Xo
254 (boolean, default=commented)
255 .Xc
256 Uncomment if you want that
257 .Nm
258 defers your mail.
259 You have to flush your mail queue manually with the
260 .Fl q
261 option.
262 This option is handy if you are behind a dialup line.
263 .It Ic FULLBOUNCE Xo
264 (boolean, default=commented)
265 .Xc
266 Uncomment if you want the bounce message to include the complete original
267 message, not just the headers.
268 .It Ic MAILNAME Xo
269 (string, default=empty)
270 .Xc
271 The internet hostname
272 .Nm
273 uses to identify the host.
274 If not set or empty, the result of
275 .Xr gethostname 2
276 is used.
277 If
278 .Sq MAILNAME
279 is an absolute path to a file, the first line of this file will be used
280 as the hostname.
281 .It Ic MASQUERADE Xo
282 (string, default=empty)
283 .Xc
284 Masquerade the envelope from addresses with this address/hostname.
285 Use this setting if mails are not accepted by destination mail servers
286 because your sender domain is invalid.
287 This setting is overridden by the
288 .Fl f
289 flag and the
290 .Ev EMAIL
291 environment variable.
292 .Pp
293 If
294 .Sq MASQUERADE
295 does not contain a
296 .Li @
297 sign, the string is interpreted as a host name.
298 For example, setting
299 .Sq MASQUERADE
300 to
301 .Ql john@
302 on host
303 .Ql hamlet
304 will send all mails as
305 .Ql john@hamlet ;
306 setting it to
307 .Ql percolator
308 will send all mails as
309 .Ql Sm off Va username @percolator .
310 .Sm on
311 .El
312 .Ss Environment variables
313 The behavior of
314 .Nm
315 can be influenced by some environment variables.
316 .Pp
317 .Bl -tag -width 4n
318 .It Ev EMAIL Xo
319 .Xc
320 Used to set the sender address (envelope-from).
321 Use a plain address, in the form of
322 .Li user@example.com .
323 This value will be overridden when the
324 .Fl f
325 flag is used.
326 .El
327 .Sh SEE ALSO
328 .Xr mailaddr 7 ,
329 .Xr mailwrapper 8 ,
330 .Xr sendmail 8
331 .Rs
332 .%A "J. B. Postel"
333 .%T "Simple Mail Transfer Protocol"
334 .%O RFC 821
335 .Re
336 .Rs
337 .%A "J. Myers"
338 .%T "SMTP Service Extension for Authentication"
339 .%O RFC 2554
340 .Re
341 .Rs
342 .%A "P. Hoffman"
343 .%T "SMTP Service Extension for Secure SMTP over TLS"
344 .%O RFC 2487
345 .Re
346 .Sh HISTORY
347 The
348 .Nm
349 utility first appeared in
350 .Dx 1.11 .
351 .Sh AUTHORS
352 .Nm
353 was written by
354 .An Matthias Schmidt Aq matthias@dragonflybsd.org
355 and
356 .An Simon Schubert Aq corecode@dragonflybsd.org .