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