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