]> diplodocus.org Git - nmh/blob - man/mh-tailor.man
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / man / mh-tailor.man
1 .TH MH-TAILOR %manext5% 2017-02-19 "%nmhversion%"
2 .
3 .\" %nmhwarning%
4 .
5 .SH NAME
6 mh-tailor, mts.conf \- mail transport configuration for nmh message handler
7 .SH DESCRIPTION
8 The file
9 .I %nmhetcdir%/mts.conf
10 defines run-time options for those
11 .B nmh
12 programs which interact (in some form) with the message transport system.
13 At present, these (user) programs are:
14 .BR ap ,
15 .BR inc ,
16 .BR msgchk ,
17 .BR post ,
18 .BR rcvdist ,
19 and
20 .BR rcvpack .
21 .PP
22 Each option should be given on a single line. Blank lines and lines
23 which begin with `#' are ignored. The options available along with
24 default values and a description of their meanings are listed below:
25 .PP
26 .BR mts :
27 .RS 5
28 The mail transport method to use. The three acceptable options are
29 .B smtp
30 (which is the default),
31 .BR sendmail/smtp ,
32 and
33 .BR sendmail/pipe .
34 .PP
35 If you use
36 .BR smtp ,
37 this will enable a direct SMTP interface in
38 .BR nmh .
39 When sending mail, instead of passing the message to the mail
40 transport agent,
41 .B post
42 will open a socket connection to the mail port on the machine
43 specified in the
44 .B servers
45 entry.
46 .PP
47 If you use
48 .BR sendmail/smtp ,
49 then
50 .B post
51 will send messages by forking a local copy of
52 .BR sendmail .
53 It will still speak SMTP with this local copy of
54 .BR sendmail .
55 For backward compatibility,
56 .B sendmail/smtp
57 can be abbreviated to
58 .BR sendmail .
59 .PP
60 The third alternative,
61 .BR sendmail/pipe ,
62 also forks a local copy of
63 .B sendmail
64 but feeds the message directly to it, using
65 .B sendmail
66 .BR -t .
67 This replaces the old, undocumented
68 .B spost
69 mechanism and retains some of its limitations, such as lack of
70 support for the
71 .B \-whom
72 switch and \*(lqDcc:\*(rq header field.
73 .RE
74 .PP
75 .BR localname :
76 .RS 5
77 The hostname
78 .B nmh
79 considers local. It should typically be a fully qualified hostname.
80 If this is not set, depending on the version of Unix you're running,
81 .B nmh
82 will query the system for this value (e.g.\& uname, gethostname, etc.),
83 and attempt to fully qualify this value.
84 .PP
85 If you are using POP to retrieve new messages, you may want to set this
86 value to the name of the POP server, so that outgoing messages appear to
87 have originated on the POP server.
88 .RE
89 .PP
90 .BR localdomain :
91 .RS 5
92 If this is set, a `.' followed by this string will be appended to your
93 hostname.
94 .PP
95 This should only be needed, if for some reason
96 .B nmh
97 is not able to fully qualify the hostname returned by the system
98 (e.g.\& uname, gethostname, etc.).
99 .RE
100 .PP
101 .BR clientname :
102 .RS 5
103 This option specifies the host name that
104 .B nmh
105 will give in the SMTP
106 .B HELO
107 (and
108 .BR EHLO )
109 command, when posting mail. If not set, the default is to use the
110 host name that
111 .B nmh
112 considers local (see
113 .B localname
114 above). If this option is set, but empty, no
115 .B HELO
116 command will be given.
117 .PP
118 Although the
119 .B HELO
120 command is required by RFC 821, many SMTP servers do not require it.
121 Early versions of
122 .I SendMail
123 will fail if the hostname given in the
124 .B HELO
125 command is the local host. Later versions of
126 .I SendMail
127 will complain if you omit the
128 .B HELO
129 command. If you run
130 .IR SendMail ,
131 find out what your system expects and set this field if needed.
132 .RE
133 .PP
134 .BR systemname :
135 .RS 5
136 This option is only used for UUCP mail. It specifies the name of the
137 local host in the UUCP \*(lqdomain\*(rq. If not set, depending
138 on the version of Unix you're running,
139 .B nmh
140 will query the system
141 for this value. This has no equivalent in the
142 .B nmh
143 configuration
144 file.
145 .RE
146 .PP
147 .BR mmdfldir :
148 %mailspool%
149 .RS 5
150 The directory where mail drops are kept. If this option is set, but empty,
151 the user's home directory is used. This overrides the default value
152 chosen at the time of compilation.
153 .RE
154 .PP
155 .BR mmdflfil :
156 .RS 5
157 The name of the mail drop file in the directory where mail drops are kept.
158 If this is empty, the user's login name is used. This overrides the default
159 value (which is empty).
160 .RE
161 .PP
162 .BR spoollocking :
163 %default_locking%
164 .RS 5
165 The locking algorithm to use when opening the mail drop. Can be any one of
166 the following:
167 .PP
168 .RS 5
169 .nf
170 %supported_locks%
171 .fi
172 .RE
173 .RE
174 .PP
175 .BR maildelivery :
176 %nmhlibexecdir%/maildelivery
177 .RS 5
178 The name of the system-wide default
179 .I maildelivery
180 file.
181 See
182 .IR slocal (1)
183 for the details.
184 .RE
185 .SS "SMTP support"
186 This option is only available if you set
187 .B mts
188 to
189 .BR smtp .
190 .PP
191 .BR servers :
192 localhost
193 .RS 5
194 A single hostname to be used when performing mail submission via SMTP.
195 Previous versions of
196 .B nmh
197 supported multiple hostnames for
198 .BR servers ,
199 but the current version of
200 .B nmh
201 only supports a single entry (the name is kept for backwards compatibility
202 reasons). This can be overridden via the
203 .B \-server
204 switch to
205 .IR send (1).
206 It is not possible to change the mail submission port number in the
207 .B servers
208 entry; see the
209 .B \-port
210 switch to
211 .IR send (1)
212 for this functionality.
213 .SS "SendMail"
214 This option is only available if you set
215 .B mts
216 to
217 .BR sendmail .
218 .PP
219 .BR sendmail :
220 %sendmailpath%
221 .RS 5
222 The pathname to the
223 .B sendmail
224 program.
225 .RE
226 .SS "Post Office Protocol"
227 .BR pophost :
228 .RS 5
229 The name of the default POP service host. If this is not set, then
230 .B nmh
231 looks in the standard mail drop areas for waiting mail, otherwise
232 the named POP service host is consulted.
233 .RE
234 .\" .SS "BBoards Delivery"
235 .\" This option is only available if you compiled \fInmh\fP with
236 .\" \*(lqbbdelivery:\ on\*(rq.
237 .\" .PP
238 .\" .BR bbdomain :
239 .\" .RS 5
240 .\" The local BBoards domain (a UCI hack).
241 .\" .RE
242 .\" .SS "BBoards & The POP"
243 .\" These options are only available if you compiled \fInmh\fP with
244 .\" \*(lqbboards:\ pop\*(rq and \*(lqpop:\ on\*(rq.
245 .\" .PP
246 .\" .BR popbbhost :
247 .\" .RS 5
248 .\" The POP service host which also acts as a BBoard server. This variable
249 .\" should be set on the POP BBoards client host.
250 .\" .RE
251 .\" .PP
252 .\" .BR popbbuser :
253 .\" .RS 5
254 .\" The guest account on the POP/BB service host. This should be a different
255 .\" login ID than either the POP user or the BBoards user. (The user-id
256 .\" \*(lqftp\*(rq is highly recommended.) This variable should be set on
257 .\" both the POP BBoards client and service hosts.
258 .\" .RE
259 .\" .PP
260 .\" .BR popbblist :
261 .\" %nmhetcdir%/hosts.popbb
262 .\" .RS 5
263 .\" A file containing of lists of hosts that are allowed to use the POP
264 .\" facility to access BBoards using the guest account. If this file is not
265 .\" present, then no check is made. This variable should be set on the POP
266 .\" BBoards service host.
267 .\" .RE
268 .SS "File Locking"
269 A few words on locking:
270 .B nmh
271 has two main uses for locking: locking the mail spool during mail
272 incorporation, and locking metadata files (sequence files, the context)
273 during updates. These locking methods can be configured separately
274 from each other.
275 .PP
276 For locking the mail spool, the
277 .B spoollocking
278 entry in
279 .IR mh\-tailor (5)
280 will control the locking algorithm to use when
281 .B inc
282 incorporates mail from the spool file. If no entry is given, a default
283 based on the operating system type will be chosen.
284 .PP
285 For locking all other files, the
286 .B datalocking
287 entry in
288 .IR mh-profile (5)
289 controls the locking algorithm used for all other file access.
290 If no entry is given, the
291 .B fcntl
292 lock method will be chosen.
293 .PP
294 If you do not wish to use kernel-based locking,
295 .I dot
296 locking is an option available. If \*(lq--enable-lockdir=directory\*(rq
297 is not specified at build time, lock files will be created in the
298 directory where the file being locked resides. Otherwise, lock
299 files will be created in the directory specified by
300 \*(lq--enable-lockdir\*(rq.
301 .PP
302 Prior to installing
303 .BR nmh ,
304 you should see how locking is done at your site, and set the appropriate values.
305 .SH FILES
306 .TP 20
307 %nmhetcdir%/mts.conf
308 nmh mts configuration file
309 .SH "PROFILE COMPONENTS"
310 None
311 .SH "SEE ALSO"
312 .IR mh\-mts (8),
313 .IR post (8)
314 .SH DEFAULTS
315 As listed above. The path of the mail transport configuration file can
316 be changed with the MHMTSCONF environment variable and augmented with the
317 MHMTSUSERCONF environment variable, see
318 .IR mh\-profile (5).
319 .SH BUGS
320 Failure to open any mail transport configuration file is silently
321 ignored. Therefore, it's best to avoid dynamic creation of such
322 a file with the intent of use via the MHMTSCONF or MHMTSUSERCONF
323 environment variables. If such use is necessary, the ability
324 to successfully open the file should first be verified.