Reworked the man page system and some man page contents (mmh-intro).
[mmh] / man / mh-tailor.man5
1 .\"
2 .\" %nmhwarning%
3 .\"
4 .TH MH-TAILOR %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
6 mh-tailor, mts.conf \- mail transport customization for nmh message handler
8 .I %etcdir%/mts.conf
10 The file
11 .I %etcdir%/mts.conf
12 defines run-time options for those
13 .B nmh
14 programs which interact (in some form) with the message transport system.
15 At present, these (user) programs are:
16 .BR ap ,
17 .BR conflict ,
18 .BR inc ,
19 .BR msgchk ,
20 .BR post ,
21 .BR rcvdist ,
22 and
23 .BR rcvpack .
24 .PP
25 Each option should be given on a single line.  Blank lines and lines
26 which begin with `#' are ignored.  The options available along with
27 default values and a description of their meanings are listed below:
28 .PP
29 .B spost
30 will send messages by forking a
31 local copy of
32 .BR sendmail .
33 .PP
34 If you are using POP to retrieve new messages, you may want to set this
35 value to the name of the POP server, so that outgoing message appear to
36 have originated on the POP server.
37 .RE
38 .PP
39 This should only be needed, if for some reason
40 .B nmh
41 is not able to
42 fully qualify the hostname returned by the system (e.g. uname,
43 gethostname, etc.).
44 .RE
45 .PP
46 .BR mmdfldir :
47 %mailspool%
48 .RS 5
49 The directory where maildrops are kept.  If this option is set, but empty,
50 the user's home directory is used.  This overrides the default value
51 chosen at the time of compilation.
52 .RE
53 .PP
54 .BR mmdflfil :
55 .RS 5
56 The name of the maildrop file in the directory where maildrops are kept.
57 If this is empty, the user's login name is used.  This overrides the default
58 value (which is empty).
59 .RE
60 .PP
61 .BR mmdelim1 :
62 \&\\001\\001\\001\\001\\n
63 .RS 5
64 The beginning-of-message delimiter for maildrops.
65 .RE
66 .PP
67 .BR mmdelim2 :
68 \&\\001\\001\\001\\001\\n
69 .RS 5
70 The end-of-message delimiter for maildrops.
71 .RE
72 .PP
73 .BR masquerade:
74 .RS 5
75 This directive controls three different types of email address masquerading.
76 The three possible values, which may be specified in any combination on the
77 line, separated by spaces, are \*(lqdraft_from\*(rq, \*(lqmmailid\*(rq, and
78 \*(lqusername_extension\*(rq.
79 .PP
80 \*(lqmmailid\*(rq was the only type of masquerading in the original MH package, and
81 apparently stands for \*(lqmasquerade mail identification\*(rq.  This type of
82 masquerading keys off of the GECOS field of the passwd file.  When enabled,
83 .B nmh
84 will check if the user's pw_gecos field in the passwd file is of the
85 form:
86 .PP
87 .RS 5
88 Full Name <fakeusername>
89 .RE
90 .PP
91 If it is, the internal
92 .B nmh
93 routines that find the username and full name
94 of that user will return \*(lqfakeusername\*(rq and \*(lqFull Name\*(rq respectively.  This is
95 useful if you want the messages you send to always appear to come from the name
96 of an MTA alias rather than your actual account name.  For instance, many
97 organizations set up \*(lqFirst.Last\*(rq sendmail aliases for all users.  If this is
98 the case, the GECOS field for each user should look like:
99 .PP
100 .RS 5
101 First [Middle] Last <First.Last>
102 .RE
103 .PP
104 \*(lqusername_extension\*(rq, when specified on the \*(lqmasquerade:\*(rq line, allows a second
105 type of username masquerading.  If the user sets the
107 environment variable, its value will be appended to the actual login name.  For
108 instance, if I am \*(\*(rq, and I set
110 to \*(lq\-www\*(rq, my mail will appear to come from \*(lqdan\\*(rq.  This is meant
111 to interact with qmail's \*(lquser\-extension\*(rq feature, where mail sent to
112 .IR user \- string
113 will be delivered to
114 .IR user .
115 Likewise, those using
116 versions of sendmail for which \*(lqplussed user\*(rq processing is active can set
118 to \*(lq+\fIstring\fR\*(rq.  These MTA features are useful
119 because they allow one to use different email addresses in different situations
120 (to aid in automatic mail filtering or in determining where spammers got one's
121 address) while only actually having a single account.  Note that
123 is only appended to the username when \fIpost\fR is
124 generating \*(lq[Resent\-]From:\*(rq lines and the SMTP envelope
125 \*(lqFrom:\*(rq.
126 .BR inc ,
127 for instance, will not try to read from a maildrop file called \*(lqdan\-www\*(rq (to
128 recall the earlier example).
129 .PP
130 \*(lqdraft_from\*(rq controls the most powerful type of address masquerading.  Normally,
131 when a user explicitly specifies a \*(lqFrom:\*(rq header in a draft,
132 .B nmh
133 uses it
134 rather than constructing its own.  However, to discourage email forgery, the
135 SMTP envelope \*(lqFrom:\*(rq and a \*(lqSender:\*(rq header are set to the user's real address.
136 When \*(lqdraft_from\*(rq is turned on, though, the envelope \*(lqFrom:\*(rq will use the
137 address specified in the draft, and there will be no \*(lqSender:\*(rq header.  This is
138 useful when a user wants to pretend to be sending mail \*(lqdirectly\*(rq from a remote
139 POP3 account, or when remote mail robots incorrectly use the envelope \*(lqFrom:\*(rq in
140 preference to the body \*(lqFrom:\*(rq (or refuse to take action when the two don't
141 match).  Note that the MTA may still reveal the user's real identity (e.g.
142 .BR sendmail 's
143 \*(lqX\-Authentication\-Warning:\*(rq header).
144 .RE
145 .PP
146 .BR maildelivery :
147 %libdir%/maildelivery
148 .RS 5
149 The name of the system-wide default
150 .I maildelivery
151 file.
152 See
153 .BR slocal (1)
154 for the details.
155 .RE
156 .PP
157 .BR everyone :
158 200
159 .RS 5
160 The highest user-id which should NOT receive mail addressed to
161 \*(lqeveryone\*(rq.
162 .RE
163 .PP
164 .BR noshell :
165 .RS 5
166 If set, then each user-id greater than \*(lqeveryone\*(rq that has a
167 login shell equivalent to the given value (e.g., \*(lq/bin/csh\*(rq)
168 indicates that mail for \*(lqeveryone\*(rq should not be sent to them.
169 This is useful for handling admin, dummy, and guest logins.
170 .SS "File Locking"
171 A few words on locking:
172 .B nmh
173 has several methods for creating locks
174 on files.  When configuring
175 .BR nmh ,
176 you will need to decide on the
177 locking style and locking directory (if any).  The first controls the
178 method of locking, the second says where lock files should be created.
179 .PP
180 To configure
181 .B nmh
182 for kernel locking, use the \*(lq--with-locking=flock\*(rq configure option if
183 you want to use the
184 .B flock
185 system call; use \*(lq--with-locking=lockf\*(rq if
186 you want to use the
187 .B lockf
188 system call; or use \*(lq--with-locking=fcntl\*(rq
189 if you want to use the
190 .B fcntl
191 system call for kernel-level locking.
192 .PP
193 Instead of kernel locking, you can configure
194 .B nmh
195 to use dot locking by using \*(lq--with-locking=dot\*(rq.  Dot locking
196 specifies that
197 a file should be created whose existence means \*(lqlocked\*(rq and
198 whose non-existence means \*(lqunlocked\*(rq.  The name of this file is
199 constructed by appending \*(lq.lock\*(rq to the name of the file being
200 locked.  If
202 is not specified, lock files will be created
203 in the directory where the file being locked resides.  Otherwise, lock
204 files will be created in the directory specified by
206 .PP
207 Prior to installing
208 .BR nmh ,
209 you should see how locking is done at
210 your site, and set the appropriate values.
213 .fc ^ ~
214 .nf
215 .ta \w'%etcdir%/ExtraBigFileName  'u
216 ^%etcdir%/mts.conf~^nmh mts configuration file
217 .fi
220 None
222 .SH "SEE ALSO"
223 mh\-mts(8), post(8)
226 As listed above