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