0
|
1 .\" This file is automatically generated. Do not edit!
|
|
2 .\" @(#)$Id$
|
|
3 .po +.75i
|
|
4 .de $c \" Major Heading printer
|
|
5 .ce
|
|
6 .b "\\s12\\n+(ch.\\ \\$1\\s0" \" 12 Point Bold Header
|
|
7 .(x
|
|
8
|
|
9 \ \ \ \\n(ch.\\ \\ \\$1
|
|
10 .)x
|
|
11 .sp 45p \" 45 point space or about 1/2 inch
|
|
12 ..
|
|
13 \".nr xs .15v \" Put index entries closer together
|
|
14 .(x
|
|
15
|
|
16 Section
|
|
17 .)x _
|
|
18 .de $0 \" Sub-Heading macro called AFTER printing the heading
|
|
19 .(x
|
|
20 .sp .3v
|
|
21 .ti .5i
|
|
22 \\$1
|
|
23 .)x
|
|
24 ..
|
|
25 .de $s \" Macro to print footnote separator
|
|
26 \"\l'2i' \" No line drawn
|
|
27 .if n \
|
|
28 . sp 1.3 \" But extra space to make up for it.
|
|
29 ..
|
|
30 .fc ^ ~ \" The characters ^ and ~ CANNOT BE USED
|
|
31 \" throughout this document except as field
|
|
32 \" delimiter & pad indicator!
|
|
33 .he ''-%-''
|
|
34 .ll 32P \" 32 Picas or about 5+1/3 inch Line Length
|
|
35 .if n .ll 72m \" Use 72 ems for nroff
|
|
36 .nr ss 30p \" 30 point space before section titles
|
|
37 .nr fm 5v \" RAND likes bigger than normal [3v] bottom margins
|
|
38 .nr bm 7v \" ditto
|
|
39 .ds . \\fB.\\fP\\h'-(1m/3)' \" Bold period to stand out.
|
|
40 .ds << <\\h!-(\\w'<'/2)!<
|
|
41 .ds >> >\\h!-(\\w'>'/2)!>
|
|
42 .ds ** \v'-3p'\s+1*\s0\v'+3p'
|
|
43 .so version.rf
|
|
44 .tp
|
|
45 .(l C
|
|
46 \fIdiscard this page\fR
|
|
47 .sp 4
|
|
48 The RAND \fIMH\fR
|
|
49 Message Handling
|
|
50 System:
|
|
51 Administrator's Guide
|
|
52 .sp
|
|
53 UCI Version
|
|
54 .sp 2
|
|
55 \*(td
|
|
56 \*(MH
|
|
57 .)l
|
|
58 .++ C
|
|
59 .+c INTRODUCTION
|
|
60
|
|
61 .uh "Scope of this document"
|
|
62 .pp
|
|
63 This is the Administrator's Guide to \fIMH\fR.
|
|
64 If you don't maintain an \fIMH\fR system,
|
|
65 don't read this;
|
|
66 the information is entirely too technical.
|
|
67 If you are a maintainer,
|
|
68 then read this guide until you understand it,
|
|
69 follow the advice it gives,
|
|
70 and then forget about the guide.
|
|
71 .pp
|
|
72 Before continuing, I'll point out two facts:
|
|
73 .sp 2
|
|
74 .(l C
|
|
75 \fIThis document will never contain all the information
|
|
76 you need to maintain MH.
|
|
77 .sp
|
|
78 Furthermore, this document will never contain everything
|
|
79 I know about maintaining MH.\fR
|
|
80 .)l
|
|
81 .sp 2
|
|
82 \fIMH\fR,
|
|
83 and mailsystems in general,
|
|
84 are more complex than most people realize.
|
|
85 A combination of experience, intuition, and tenacity is required to maintain
|
|
86 \fIMH\fR properly.
|
|
87 This document can provide only guidelines for bringing up an \fIMH\fR system
|
|
88 and maintaining it.
|
|
89 There is a sufficient amount of customization possible that not all events or
|
|
90 problems can be forseen.
|
|
91
|
|
92 .uh "Summary"
|
|
93 .pp
|
|
94 During \fIMH\fR generation,
|
|
95 you specify several configuration constants to the \fImhconfig\fR program.
|
|
96 These directives take into consideration such issues as hardware and
|
|
97 operating system dependencies in the source code.
|
|
98 They also factor out some major mailsystem administrative decisions
|
|
99 that are likely to be made consistantly at sites with more than one host.
|
|
100 The manual entry \fImh\-gen\fR\0(8) describes all the static configuration
|
|
101 directives.
|
|
102 .pp
|
|
103 However,
|
|
104 when you install \fIMH\fR you may wish to make some site\-specific
|
|
105 or host\-specific changes which aren't hardware or even software related.
|
|
106 Rather, they are administrative decisions.
|
|
107 That's what this guide is for: it describes all of the dynamically tailorable
|
|
108 directives.
|
|
109 .pp
|
|
110 Usually, after installing \fIMH\fR, you'll want to edit the
|
|
111 \fB/usr/local/mh/lib/mtstailor\fR file.
|
|
112 This file fine-tunes the way \fIMH\fR interacts with the message transport
|
|
113 system (MTS).
|
|
114 Section 2 talks about the MTS interface and MTS tailoring.
|
|
115 .pp
|
|
116 After that, if you're running the UCI BBoards facility,
|
|
117 or the POP facility,
|
|
118 you'll need to know how to maintain those systems.
|
|
119 Sections 3 and 4 talk about these.
|
|
120 .pp
|
|
121 If for some reason
|
|
122 you're not running an MTS that can handle both Internet and \fIUUCP\fR traffic,
|
|
123 you should read\-up on mail filtering in Section 5.
|
|
124 Although this is considered \*(lqold technology\*(rq now,
|
|
125 the mechanisms described in Section 5 were really quite useful when
|
|
126 first introduced way back in 1981.
|
|
127 .pp
|
|
128 Finally, you may want to know how to modify the \fIMH\fR source tree.
|
|
129 Section 6 talks (a little bit) about that.
|
|
130 .pp
|
|
131 The last two sections describe a few hidden features in \fIMH\fR,
|
|
132 and the configuration options that were in effect when this guide was
|
|
133 generated.
|
|
134 .pp
|
|
135 After \fIMH\fR is installed, you should define the address \*(lqBug\-MH\*(rq
|
|
136 to map to either you or the \fIPostMaster\fR at your site.
|
|
137 .pp
|
|
138 In addition,
|
|
139 if you want to tailor the behavior of \fIMH\fR for new users,
|
|
140 you can create and edit the file \fB/usr/local/mh/lib/mh.profile\fR.
|
|
141 When the \fIinstall-mh\fR program is run for a user,
|
|
142 if this file exists, it will copy it into the user's \&.mh\(ruprofile
|
|
143 file.
|
|
144
|
|
145 .\" macros for the .me/.man files
|
|
146 .de SC
|
|
147 .he '\\$1(\\$2)'-%-'\\$1(\\$2)'
|
|
148 .bp
|
|
149 .(x
|
|
150 .ti .8i
|
|
151 \\$1
|
|
152 .)x
|
|
153 ..
|
|
154 .de NA
|
|
155 .b \\s-2NAME\\s0
|
|
156 .ti .5i
|
|
157 ..
|
|
158 .de SY
|
|
159 .sp
|
|
160 .b \\s-2SYNOPSIS\\s0
|
|
161 .in 1i
|
|
162 .ti .5i
|
|
163 .na
|
|
164 ..
|
|
165 .de DE
|
|
166 .ad
|
|
167 .sp
|
|
168 .in 0
|
|
169 .b \\s-2DESCRIPTION\\s0
|
|
170 .sp
|
|
171 .fi
|
|
172 .in .5i
|
|
173 ..
|
|
174 .de Uh
|
|
175 .ad
|
|
176 .sp
|
|
177 .ti .25i
|
|
178 .b "\\s-2\\$1\\s0"
|
|
179 .sp
|
|
180 .fi
|
|
181 ..
|
|
182 .de Hh
|
|
183 .ad
|
|
184 .sp
|
|
185 .in 0
|
|
186 .b "\\s-2Helpful Hints\\s0"
|
|
187 .sp
|
|
188 .fi
|
|
189 .in .5i
|
|
190 ..
|
|
191 .de Fi
|
|
192 .(b L
|
|
193 .ti 0
|
|
194 .b \\s-2Files\\s0
|
|
195 .ta \w'/usr/local/mh/lib/ExtraBigFileName 'u
|
|
196 ..
|
|
197 .de Pr
|
|
198 .)b
|
|
199 .(b L F
|
|
200 .ta \w'ExtraBigProfileName 'u
|
|
201 .ti 0
|
|
202 .b "\\s-2Profile Components\\s0"
|
|
203 .ti .5i
|
|
204 ..
|
|
205 .de Ps
|
|
206 .ti .5i
|
|
207 ..
|
|
208 .de Sa
|
|
209 .)b
|
|
210 .(b L F
|
|
211 .ti 0
|
|
212 .b "\\s-2See Also\\s0"
|
|
213 .br
|
|
214 ..
|
|
215 .de De
|
|
216 .)b
|
|
217 .(b L
|
|
218 .in .5i
|
|
219 .ti 0
|
|
220 .b \\s-2Defaults\\s0
|
|
221 ..
|
|
222 .de Ds
|
|
223 ..
|
|
224 .de Co
|
|
225 .)b
|
|
226 .(b L F
|
|
227 .ti 0
|
|
228 .b \\s-2Context\\s0
|
|
229 .br
|
|
230 ..
|
|
231 .de Hi
|
|
232 .)b
|
|
233 .(b L F
|
|
234 .ti 0
|
|
235 .b \\s-2History\\s0
|
|
236 .br
|
|
237 ..
|
|
238 .de Bu
|
|
239 .)b
|
|
240 .(b L F
|
|
241 .ti 0
|
|
242 .b \\s-2Bugs\\s0
|
|
243 .br
|
|
244 ..
|
|
245 .de En
|
|
246 .)b
|
|
247 .in 0
|
|
248 ..
|
|
249
|
|
250 .+c "THE MTS INTERFACE"
|
|
251 .pp
|
|
252 The file \fB/usr/local/mh/lib/mtstailor\fR customizes
|
|
253 certain host\-specific parameters of \fIMH\fR
|
|
254 related primarily to interactions with the transport system.
|
|
255 The parameters in this file override the compiled\-in defaults given during
|
|
256 \fIMH\fR configuration.
|
|
257 Rather than recompiling \fIMH\fR on each host to make minor customizations,
|
|
258 it is easier simply to modify the \fBmtstailor\fR file.
|
|
259 All hosts at a given site normally use the same \fBmtstailor\fR file,
|
|
260 though this need not be the case.
|
|
261 .pp
|
|
262 It is a good idea to run the \fIconflict\fR\0(8) program each morning
|
|
263 under \fIcron\fR.
|
|
264 The following line usually suffices:
|
|
265
|
|
266 .ti +.5i
|
|
267 00 05 * * * /usr/local/mh/lib/conflict -mail PostMaster
|
|
268
|
|
269 .if t \{
|
|
270 .ll 6.5i
|
|
271 .lt 6.5i
|
|
272 \}
|
|
273 .fo '[mh.6]'MH.6.8'UCI version'
|
|
274 .po -.50i
|
|
275 .so mh-tailor.me
|
|
276 .so mh-mts.me
|
|
277 .po +.50i
|
|
278 .he ''-%-''
|
|
279 .fo ''''
|
|
280 .br
|
|
281 .if t \{
|
|
282 .ll 32P
|
|
283 .lt 32P
|
|
284 \}
|
|
285
|
|
286 .+c "BBOARDS"
|
|
287 .pp
|
|
288 The UCI BBoards facility has two aspects: message reading, and
|
|
289 message delivery. The configuration directives applicable to
|
|
290 BBoards are \*(lqbboards: on/off/pop/nntp\*(rq and
|
|
291 \*(lqbbdelivery: on/off\*(rq.
|
|
292 .uh "BBoard Delivery"
|
|
293 .pp
|
|
294 If you enabled BBoards delivery (\*(lqbbdelivery: on\*(rq)
|
|
295 during configuration,
|
|
296 then the initial environment for bboards delivery
|
|
297 was set\-up during installation.
|
|
298 A BBoard called \*(lqsystem\*(rq is established,
|
|
299 which is the BBoard for general discussion.
|
|
300 .pp
|
|
301 To add more BBoards, become the \*(lqbboards\*(rq user,
|
|
302 and edit the \fB/BBoards\fR file.
|
|
303 The file \fBsupport/bboards/Example\fR is a copy of the
|
|
304 \fB/BBoards\fR file that we use at UCI.
|
|
305 When you add a BBoard,
|
|
306 you don't have to create the files associated with it,
|
|
307 the BBoards delivery system will do that automatically.
|
|
308 .pp
|
|
309 Private BBoards may be created.
|
|
310 To add the fictitious private BBoard \*(lqhacks\*(rq,
|
|
311 add the appropriate entry to the BBoards file,
|
|
312 create the empty file \fB/hacks.mbox\fR (or whatever),
|
|
313 change the mode of this file to 0640,
|
|
314 and change the group of the file to be the groupid of the people that you
|
|
315 want to be able to read it.
|
|
316 Also be sure to add the \*(lqbboards\*(rq user to this group
|
|
317 (in \fB/etc/group\fR),
|
|
318 so the archives can be owned correctly.
|
|
319 .pp
|
|
320 By using the special INVIS flag for a BBoard,
|
|
321 special purpose BBoards may be set\-up which are invisible to the \fIMH\fR
|
|
322 user.
|
|
323 For example,
|
|
324 if a site distributes a BBoard both locally to a number of machines and to a
|
|
325 number of distant machines.
|
|
326 It might be useful to have two distribution lists:
|
|
327 one for all machines on the list, and the other for local machines only.
|
|
328 This is actually very simple to do.
|
|
329 For the main list,
|
|
330 put the standard entry of information in the \fB/BBoards\fR file,
|
|
331 with the complete distribution list.
|
|
332 For the local machines list,
|
|
333 and add a similar entry to the \fB/BBoards\fR file.
|
|
334 All the fields should be the same except three:
|
|
335 the BBoard name should reflect a local designation (e.g., \*(lql\-hacks\*(rq),
|
|
336 the distribution list should contain only machines at the local site,
|
|
337 and the flags field should contain the INVIS flag.
|
|
338 Since the two entries share the same primary and archive files,
|
|
339 messages sent to either list are read by local users,
|
|
340 while only thoses messages sent to the main list are read by all users.
|
|
341 .pp
|
|
342 Two automatic facilities for dealing with BBoards exist:
|
|
343 automatic archiving and automatic aliasing.
|
|
344 The file \fBsupport/bboards/crontab\fR contains some entries that you
|
|
345 should add to your \fB/usr/lib/crontab\fR file to run the specified programs
|
|
346 at times that are convenient for you.
|
|
347 The \fBbboards.daily\fR file is run once a day and generates an alias file
|
|
348 for \fIMH\fR.
|
|
349 By using this file, users of \fIMH\fR can use, for example,
|
|
350 \*(lqunix\-wizards\*(rq instead of \*(lqunix\-wizards@brl\-vgr\*(rq
|
|
351 when they want to send a message to the \*(lqunix\-wizards\*(rq
|
|
352 discussion group.
|
|
353 This is a major win, since you just have to know the name of the group,
|
|
354 not the address where it's located.
|
|
355 .pp
|
|
356 The \fBbboards.weekly\fR file is run once a week and handles old
|
|
357 messages (those received more than 12 days ago) in the BBoards area.
|
|
358 In short,
|
|
359 those BBoards which are marked for automatic archiving
|
|
360 will have their old messages placed in the \fB/archive/\fR area,
|
|
361 or have their old messages removed.
|
|
362 Not only does this make BBoards faster to read,
|
|
363 but it conveniently partitions the new messages from the old messages
|
|
364 so you can easily put the old messages on tape and then remove them.
|
|
365 It turns out that this automatic archiving capability is also a major
|
|
366 win.
|
|
367 .pp
|
|
368 At UCI,
|
|
369 our policy is to save archived messages on tape (every two months or so).
|
|
370 We use a program called \fIbbtar\fR to implement our particular policy.
|
|
371 Since some BBoards are private (see above),
|
|
372 we save the archives on two tapes:
|
|
373 one containing the world\-readable archives
|
|
374 (this tape is read-only accessible to all users by calling the operator),
|
|
375 and the other containing the non\-world\-readable ones
|
|
376 (this tape is kept locked\-up somewhere).
|
|
377 .uh "BBoards with the POP"
|
|
378 .pp
|
|
379 If you configured \fIMH\fP with \*(lqbboards: pop\*(rq and \*(lqpop: on\*(rq,
|
|
380 then the \fIMH\fR user is allowed to read BBoards on a server machine
|
|
381 instead of the local host (thus saving disk space).
|
|
382 For completely transparent behavior,
|
|
383 the administrator may set certain variables in the \fBmtstailor\fR file
|
|
384 on the client host.
|
|
385 The variable \*(lqpopbbhost\*(rq indicates the host where BBoards are
|
|
386 kept
|
|
387 (it doesn't have to be the POP service host,
|
|
388 but this host must run both a POP server and the BBoards system).
|
|
389 The variable \*(lqpopbbuser\*(rq indicates the guest account on this host
|
|
390 for BBoards.
|
|
391 This username should not be either the POP user or the BBoards user.
|
|
392 Usually the anonymous FTP user (ftp) is the best choice.
|
|
393 Finally, the variable \*(lqpopbblist\*(rq indicates the name of a file which
|
|
394 contains a list of hosts (one to a line, official host names only) which
|
|
395 should be allowed to use the POP facility to access BBoards via the guest
|
|
396 account.
|
|
397 (If the file is not present, then no check is made.)
|
|
398 .pp
|
|
399 The \*(lqpopbbuser\*(rq variable should be set on both the client and service
|
|
400 host.
|
|
401 The \*(lqpopbbhost\*(rq variable need be set only on the client host
|
|
402 (the value, of course, is the name of the service host).
|
|
403 The \*(lqpopbblist\*(rq variable need be set only on the service host.
|
|
404 .pp
|
|
405 Finally,
|
|
406 on the client host,
|
|
407 if a POP service host is not explicitly given by the user
|
|
408 (i.e., \*(lqpopbbhost\*(rq is implicitly used),
|
|
409 then \fIbbc\fR will explicitly check the local host prior to contacting
|
|
410 the service host.
|
|
411 This allows each POP client host to have a few local BBoards
|
|
412 (e.g., each host could have one called \*(lqsystem\*(rq),
|
|
413 and then have the POP service host used for all the rest
|
|
414 (a site\-wide BBoard might be known as \*(lqgeneral\*(rq).
|
|
415 .uh "BBoards with the NNTP"
|
|
416 .pp
|
|
417 If you configured \fIMH\fP with \*(lqbboards: nntp\*(rq and \*(lqpop: on\*(rq,
|
|
418 then
|
|
419 the \fIMH\fR user is allowed to read the Network News on a
|
|
420 server machine using the standard \fIbbc\fR command.
|
|
421 For completely transparent behavior,
|
|
422 the administrator may set the \*(lqnntphost\*(rq variable in the
|
|
423 \fBmtstailor\fR file to indicate the host where the Network News is kept.
|
|
424 The \*(lqnntphost\*(rq variable should be set only on the client host
|
|
425 Finally,
|
|
426 on the client host,
|
|
427 if an NNTP service host is not explicitly given by the user
|
|
428 (i.e., \*(lqnntphost\*(rq is implicitly used),
|
|
429 then \fIbbc\fR will explicitly check the local host prior to contacting
|
|
430 the service host.
|
|
431 This allows each NNTP client host to have a few local BBoards
|
|
432 (e.g., each host could have one called \*(lqsystem\*(rq),
|
|
433 and then have the NNTP service host used for to read the Network News.
|
|
434 .pp
|
|
435 Reading BBoards via the POP and via the NNTP are mutually exclusive.
|
|
436 .if t \{
|
|
437 .ll 6.5i
|
|
438 .lt 6.5i
|
|
439 \}
|
|
440 .fo '[mh.6]'MH.6.8'UCI version'
|
|
441 .po -.50i
|
|
442 .so bboards5.me
|
|
443 .so bbaka.me
|
|
444 .so bbexp.me
|
|
445 .so bboards8.me
|
|
446 .so bbtar.me
|
|
447 .po +.50i
|
|
448 .he ''-%-''
|
|
449 .fo ''''
|
|
450 .br
|
|
451 .if t \{
|
|
452 .ll 32P
|
|
453 .lt 32P
|
|
454 \}
|
|
455
|
|
456 .+c "POP"
|
|
457 .pp
|
|
458 For POP (Post Office Protocol) client hosts,
|
|
459 you need to edit the \fB/usr/local/mh/lib/mtstailor\fR file to know about two
|
|
460 hosts:
|
|
461 the SMTP service host and the POP service host.
|
|
462 Normally, these are the same.
|
|
463 Change the \*(lqlocalname\*(rq field of the \fBmtstailor\fR file
|
|
464 of \fIMH\fR in the file to be the name of the POP service host.
|
|
465 This makes replies to mail generated on the POP client host possible,
|
|
466 since \fIMH\fR will consider use the hostname of the POP service host as the
|
|
467 local hostname for outgoing mail.
|
|
468 Also set the value of \*(lqpophost\*(rq to this value.
|
|
469 This tells \fIinc\fR and \fImsgchk\fR to use POP instead of looking for mail
|
|
470 locally.
|
|
471 Finally,
|
|
472 make sure the value of \*(lqservers\*(rq includes the name of the SMTP
|
|
473 service host.
|
|
474 The recommended value for \*(lqservers\*(rq is:
|
|
475
|
|
476 .ti +.5i
|
|
477 servers:\ SMTP\-service\-host localhost \\01localnet
|
|
478 .pp
|
|
479 If you want more information on the Post Office Protocol used by \fIMH\fR,
|
|
480 consult the files \fBsupport/pop/rfc1081.txt\fP and
|
|
481 \fBsupport/pop/rfc1082.txt\fP which describe the \fIMH\fP version of
|
|
482 the POP: POP3.
|
|
483 .pp
|
|
484 For POP service hosts,
|
|
485 you need to run a daemon, \fIpopd\fR\0(8).
|
|
486 The daemon should start at multi\-user boot time,
|
|
487 so adding the lines:
|
|
488 .sp
|
|
489 .nf
|
|
490 .in +.5i
|
|
491 if [ \-f /etc/popd ]; then
|
|
492 /etc/popd & echo \-n ' pop' >/dev/console
|
|
493 fi
|
|
494 .in -.5i
|
|
495 .fi
|
|
496 .sp
|
|
497 to the \fB/etc/rc.local\fR file is sufficient.
|
|
498 .pp
|
|
499 The port assigned to the POP3 protocol is \*(lq110\*(rq.
|
|
500 For historical reasons, many sites are using port \*(lq109\*(rq
|
|
501 which is the port assigned to the \*(lqPOP\*(rq (version 1 and 2) protocol.
|
|
502 The configuration option \*(lqPOPSERVICE\*(rq is the name of the
|
|
503 port number that \fIMH\fP POP will try to use, and defaults to the
|
|
504 name \*(lqpop\*(rq.
|
|
505 .pp
|
|
506 To generate \fIMH\fP to use newer assigned port number,
|
|
507 in your \fIMH\fP config file, add:
|
|
508 .sp
|
|
509 .ti +.5i
|
|
510 options POPSERVICE='\*(lqpop3\*(rq'
|
|
511 .sp
|
|
512 And on both the POP client and service hosts,
|
|
513 you need to define the port that the POP service uses.
|
|
514 Add the line:
|
|
515 .sp
|
|
516 .nf
|
|
517 .in +.5i
|
|
518 pop3 110/tcp
|
|
519 .in -.5i
|
|
520 .fi
|
|
521 .sp
|
|
522 to the \fB/etc/services\fR file (if it's not already there).
|
|
523 .pp
|
|
524 There are two ways to administer POP:
|
|
525 In \*(lqnaive\*(rq mode,
|
|
526 each user-id in the \fIpasswd\fR\0(5) file is considered a POP subscriber.
|
|
527 No changes are required for the mailsystem on the POP service host.
|
|
528 However,
|
|
529 this method requires that each POP subscriber have an entry in the password
|
|
530 file.
|
|
531 The POP server will fetch the user's mail from wherever maildrops are kept on
|
|
532 the POP service host.
|
|
533 This means that if maildrops are kept in the user's home directory,
|
|
534 then each POP subscriber must have a home directory.
|
|
535 .pp
|
|
536 In \*(lqsmart\*(rq mode
|
|
537 (enabled via \*(lqDPOP\*(rq being given as a configuration option),
|
|
538 the list of POP subscribers and the list of
|
|
539 login users are completely separate name spaces.
|
|
540 A separate database (simple file similar to the \fIBBoards\fR\0(5) file)
|
|
541 is used to record information about each POP subscriber.
|
|
542 Unfortunately,
|
|
543 the local mailsystem must be changed to reflect this.
|
|
544 This requires two changes (both of which are simple):
|
|
545 First,
|
|
546 the aliasing mechanism is augmented so that POP subscriber addresses
|
|
547 are diverted to a special delivery mechanism.
|
|
548 \fIMH\fR comes with a program, \fIpopaka\fR\0(8),
|
|
549 which generates the additional information to be put in the mailsystem's
|
|
550 alias file.
|
|
551 Second,
|
|
552 a special POP channel (for MMDF-II) or POP mailer (for SendMail)
|
|
553 performs the actual delivery (\fImh.6\fR supplies both).
|
|
554 All it really does is just place the mail in the POP spool area.
|
|
555 .pp
|
|
556 These two different philosophies are not compatible on the same POP service
|
|
557 host: one or the other, but not both may be run.
|
|
558 Clever mailsystem people will note that
|
|
559 the POP mechanism is really a special case of the more general
|
|
560 BBoards mechanism.
|
|
561 .pp
|
|
562 In addition, there is one user-visible difference,
|
|
563 which the administrator controls the availability of.
|
|
564 The difference is whether the POP subscriber must supply a password to the POP
|
|
565 server:
|
|
566 The first method uses the standard ARPA technique of sending a username and a
|
|
567 password.
|
|
568 The appropriate programs (\fIinc\fR, \fImsgchk\fR, and possibly \fIbbc\fR\0)
|
|
569 will prompt the user for this information.
|
|
570 .pp
|
|
571 The second method
|
|
572 (which is enabled via \*(lqRPOP\*(rq being given as a configuration option)
|
|
573 uses the Berkeley UNIX reserved port method for authentication.
|
|
574 This requires that the two or three mentioned above programs be
|
|
575 \fIsetuid\fR to root.
|
|
576 (There are no known holes in any of these programs.)
|
|
577 .pp
|
|
578 To add a POP subscriber,
|
|
579 for the first method, one simply follows the usual procedures for adding a
|
|
580 new user, which eventually results in adding a line to the \fIpasswd\fR\0(5)
|
|
581 file;
|
|
582 for the second method, one must edit the POP database file
|
|
583 (kept in the home directory of the POP user),
|
|
584 and then run the \fIpopaka\fR program.
|
|
585 The output of this program is placed in the aliases file for the transport
|
|
586 system (e.g., \fB/usr/lib/aliases\fR for SendMail).
|
|
587 .pp
|
|
588 Authentication for POP subscribers differs
|
|
589 depending on the two methods.
|
|
590 When the user supplies a password for the POP session:
|
|
591 under the first method,
|
|
592 the contents of the password field for the user's entry in the
|
|
593 \fIpasswd\fR\0(5) is consulted;
|
|
594 under the second method,
|
|
595 the contents of the password field for the subscriber's entry in the
|
|
596 \fIpop\fR\0(5) file is consulted.
|
|
597 (To set this field, the \fIpopwrd\fR\0(8) program is used.)
|
|
598 .pp
|
|
599 If you are allowing RPOP,
|
|
600 under the first method,
|
|
601 the user's \fI\&.rhosts\fR file is consulted;
|
|
602 under the second method,
|
|
603 the contents of the network address field for the subscriber's entry
|
|
604 in the \fIpop\fR\0(5) file is consulted.
|
|
605 .pp
|
|
606 In addition,
|
|
607 a third authentication scheme is available.
|
|
608 When the APOP configuration option is given,
|
|
609 e.g.,
|
|
610 .sp
|
|
611 .ti +.5i
|
|
612 options APOP='\*(lq/etc/pop.auth\*(rq'
|
|
613 .sp
|
|
614 In this case,
|
|
615 the server also allows a client to supply authentication
|
|
616 credentials to provide for origin authentication and reply protection,
|
|
617 but which do not involve sending a password in the clear over the network.
|
|
618 A POP authorization DB,
|
|
619 having as its name the value of APOP configuration option,
|
|
620 is used to keep track of this information.
|
|
621 This file is created and manipulated by the \fIpopauth\fR\0(8) program.
|
|
622 Because this file contains secret information,
|
|
623 it must be protected mode 0600 and owned by the super-user.
|
|
624 Hence,
|
|
625 your first step after installing the software is to issue
|
|
626 .sp
|
|
627 .ti +.5i
|
|
628 # popauth -init
|
|
629 .sp
|
|
630 which creates and initalizes the POP authorization DB.
|
|
631 .if t \{
|
|
632 .ll 6.5i
|
|
633 .lt 6.5i
|
|
634 \}
|
|
635 .fo '[mh.6]'MH.6.8'UCI version'
|
|
636 .po -.50i
|
|
637 .so pop5.me
|
|
638 .so pop8.me
|
|
639 .so popaka.me
|
|
640 .so popauth.me
|
|
641 .so popd.me
|
|
642 .so popwrd.me
|
|
643 .po +.50i
|
|
644 .he ''-%-''
|
|
645 .fo ''''
|
|
646 .br
|
|
647 .if t \{
|
|
648 .ll 32P
|
|
649 .lt 32P
|
|
650 \}
|
|
651
|
|
652 .+c "MAIL FILTERING"
|
|
653 .pp
|
|
654 There was a time when users on a UNIX host might have had two maildrops:
|
|
655 one from \fIMMDF\fR and the other from \fIUUCP\fR.
|
|
656 This was really a bad problem since it prevented using a single
|
|
657 user\-interface on all of your mail.
|
|
658 Furthermore,
|
|
659 if you wanted to send a message to addresses on different mailsystems,
|
|
660 you couldn't send just one message.
|
|
661 To solve all these problems,
|
|
662 the notion of \fImail filtering\fR was developed that allowed sophisticated
|
|
663 munging and relaying between the two pseudo\-domains.
|
|
664 .pp
|
|
665 \fIMH\fR will perform mail filtering, transparently, if given the MF
|
|
666 configuration option.
|
|
667 However,
|
|
668 with the advent of \fISendMail\fR and further maturation of \fIMMDF\fR,
|
|
669 \fIMH\fR doesn't really need to do this anymore,
|
|
670 since these message transport agents handle it.
|
|
671 .pp
|
|
672 The mail\-filtering stuff is too complicated.
|
|
673 It should be simpler, but, protocol translation really \fIis\fR difficult.
|
|
674 .if t \{
|
|
675 .ll 6.5i
|
|
676 .lt 6.5i
|
|
677 \}
|
|
678 .fo '[mh.6]'MH.6.8'UCI version'
|
|
679 .po -.50i
|
|
680 .so mf.me
|
|
681 .so rmail.me
|
|
682 .po +.50i
|
|
683 .he ''-%-''
|
|
684 .fo ''''
|
|
685 .br
|
|
686 .if t \{
|
|
687 .ll 32P
|
|
688 .lt 32P
|
|
689 \}
|
|
690
|
|
691 .+c "MH HACKING"
|
|
692 .pp
|
|
693 Finally, here's a little information on modifying the \fIMH\fR sources.
|
|
694 A word of advice however:
|
|
695 .sp 2
|
|
696 .ce
|
|
697 .b \s+4DON'T\s0
|
|
698 .sp 2
|
|
699 .lp
|
|
700 If you really want new \fIMH\fR capabilities,
|
|
701 write a shell script instead.
|
|
702 After all,
|
|
703 that's what UNIX is all about, isn't it?
|
|
704 .pp
|
|
705 Here's the organization of the \fIMH\fR source tree.
|
|
706 .sp
|
|
707 .nf
|
|
708 .in +.5i
|
|
709 .ta \w'miscellany/ 'u +\w'sendmail/ 'u
|
|
710 conf/ configurator tree
|
|
711 config/ compiled configuration constants
|
|
712 dist/ distributor
|
|
713 doc/ manual entries
|
|
714 h/ include files
|
|
715 miscellany/ various sundries
|
|
716 mts/ MTS\-specific areas
|
|
717 mh/ standalone delivery
|
|
718 mmdf/ MMDF\-I, MMDF\-II
|
|
719 sendmail/ SendMail, SMTP
|
|
720 papers/ papers about \fIMH\fR
|
|
721 sbr/ subroutines
|
|
722 support/ support programs and files
|
|
723 bboards/ UCI BBoards facility
|
|
724 general/ templates
|
|
725 pop/ POP facility
|
|
726 tma/ Trusted Mail Agent (not present in all distributions)
|
|
727 uip/ programs
|
|
728 zotnet/ MTS\-independent areas
|
|
729 bboards/ UCI BBoards facility
|
|
730 mf/ Mail Filtering
|
|
731 mts/ MTS constants
|
|
732 tws/ date routines
|
|
733 .re
|
|
734 .in -.5i
|
|
735 .fi
|
|
736 .if t \{
|
|
737 .ll 6.5i
|
|
738 .lt 6.5i
|
|
739 \}
|
|
740 .fo '[mh.6]'MH.6.8'UCI version'
|
|
741 .po -.50i
|
|
742 .so mh-hack.me
|
|
743 .po +.50i
|
|
744 .he ''-%-''
|
|
745 .fo ''''
|
|
746 .br
|
|
747 .if t \{
|
|
748 .ll 32P
|
|
749 .lt 32P
|
|
750 \}
|
|
751
|
|
752 .+c "HIDDEN FEATURES"
|
|
753 .pp
|
|
754 The capabilities discussed here should not be used on a production basis,
|
|
755 as they are either experimental, are useful for debugging \fIMH\fR, or
|
|
756 are otherwise not recommended.
|
|
757
|
|
758 .uh "Debug Facilities"
|
|
759 .pp
|
|
760 The \fImark\fR command has a `\-debug' switch which essentially prints out
|
|
761 all the internal \fIMH\fR data structures for the folder you're looking at.
|
|
762 .pp
|
|
763 The \fIpost\fR command has a `\-debug' switch which does everything but
|
|
764 actually post the message for you.
|
|
765 Instead of posting the draft, it sends it to the standard output.
|
|
766 Similarly,
|
|
767 \fIsend\fR has a `\-debug' switch which gets passed to \fIpost\fR.
|
|
768 .pp
|
|
769 Some \fIMH\fR commands look at envariables to determine debug\-mode operation
|
|
770 of certain new facilities.
|
|
771 The current list of envariables is:
|
|
772 .sp
|
|
773 .nf
|
|
774 .in +.5i
|
|
775 .ta \w'MHLPOPDEBUG 'u
|
|
776 ^MHFDEBUG~^OVERHEAD facility
|
|
777 ^MHLDEBUG~^mhl
|
|
778 ^MHPDEBUG~^pick
|
|
779 ^MHPOPDEBUG~^POP transactions
|
|
780 ^MHVDEBUG~^window management transactions
|
|
781 ^MHWDEBUG~^alternate\-mailboxes
|
|
782 .re
|
|
783 .in -.5i
|
|
784 .fi
|
|
785
|
|
786 .uh "Forwarding Mail"
|
|
787 .pp
|
|
788 The \fIforw\fR and \fImhl\fR commands have two switches,
|
|
789 `\-dashmunging' and `\-nodashmunging' which enable or disable
|
|
790 the prepending of `\-\ ' in forwarded messages. To use
|
|
791 `\-nodashmunging', you must use an \fImhl\fR filter file.
|
|
792
|
|
793 .uh "Send"
|
|
794 .pp
|
|
795 The \fIsend\fR command has two switches, `\-unique' and `\-nounique',
|
|
796 which are useful to certain individuals who, for obscure reasons,
|
|
797 do not use draft\-folders.
|
|
798 .pp
|
|
799 \*(lqDistribution Carbon Copy\*(rq addresses may be specified in
|
|
800 the \fIDcc:\fR header.
|
|
801 This header is removed before posting the message,and a copy of the message
|
|
802 is distributed to each listed address.
|
|
803 This could be considered a form of Blind
|
|
804 Carbon Copy which is best used for sending to an address which
|
|
805 would never reply (such as an auto\-archiver).
|
|
806
|
|
807 .uh "Posting Mail"
|
|
808 .pp
|
|
809 If you're running a version of \fIMH\fR which talks directly to an
|
|
810 \fISMTP\fR server (or perhaps an advanced \fIMMDF\fR submit process),
|
|
811 there are lots of interesting switches for your amusement which \fIsend\fR
|
|
812 and \fIpost\fR understand:
|
|
813 .nf
|
|
814 .in +.5i
|
|
815 .ta \w'-server host 'u
|
|
816 ^-mail~^Use the \fIMAIL\fR command (default)
|
|
817 ^-saml~^Use the \fISAML\fR command
|
|
818 ^-send~^Use the \fISEND\fR command
|
|
819 ^-soml~^Use the \fISOML\fR command
|
|
820 ^-snoop~^Watch the \fISMTP\fR transaction
|
|
821 ^-client host~^Claim to be \*(lqhost\*(rq when posting mail
|
|
822 ^-server host~^Post mail with \*(lqhost\*(rq
|
|
823 .re
|
|
824 .in -.5i
|
|
825 .fi
|
|
826 .pp
|
|
827 The last switch is to be useful when \fIMH\fR resides on small
|
|
828 workstations (or PC:s) in a network\-\-they can post their outgoing mail with
|
|
829 a local relay,
|
|
830 and reduce the load on the local system.
|
|
831 On POP client hosts,
|
|
832 the `\-server\ host' switch is defaulted appropriately using the SMTP
|
|
833 search\-list mechanism.
|
|
834 The \fIwhom\fR command understands the last three switches.
|
|
835
|
|
836 .+c "CONFIGURATION OPTIONS"
|
|
837 .pp
|
|
838 This manual was generated with the following configuration options in
|
|
839 effect:
|
|
840 .sp 2
|
|
841 .hl
|
|
842 .nf
|
|
843 .in +1.25i
|
|
844 .ta \w'BBoards Home Directory 'u
|
|
845 ^Generation Date~^\*(td
|
|
846 ^Primary Directory~^/usr/local/mh/bin/
|
|
847 ^Secondary Directory~^/usr/local/mh/lib/
|
|
848 ^Maildrop Location~^/var/mail/$USER
|
|
849 ^POP Support~^Enabled
|
|
850 ^BBoards using NNTP~^Enabled
|
|
851 ^Transport System~^SendMail \*(SM
|
|
852 .re
|
|
853 .in -1.5i
|
|
854 .fi
|
|
855 .hl
|
|
856 .\" table of contents
|
|
857 .he ''''
|
|
858 .fo ''''
|
|
859 .bp
|
|
860 .ce
|
|
861 .b \\s12CONTENTS\\s0
|
|
862 .sp 3
|
|
863 .xp y
|
|
864 .xp x
|
|
865 .bp
|
|
866 .\" And now the COVER sheet
|
|
867 .po +.325i
|
|
868 .ll 32P
|
|
869 .nf
|
|
870
|
|
871 .sp 1.5in
|
|
872 .ps 24
|
|
873 .vs 32
|
|
874 .ft B
|
|
875 .ce 4
|
|
876 THE RAND MH
|
|
877 MESSAGE HANDLING
|
|
878 SYSTEM:
|
|
879 ADMINISTRATOR'S GUIDE
|
|
880 .ft R
|
|
881 .sp .8i
|
|
882 .ps 20
|
|
883 .vs 24
|
|
884 .ce
|
|
885 UCI Version
|
|
886 .sp 0.7i
|
|
887 .ce 2
|
|
888 Marshall T. Rose
|
|
889 .sp 0.5i
|
|
890 .ft I
|
|
891 .ce 3
|
|
892 First Edition:
|
|
893 MH Classic
|
|
894 \s-2(Not to be confused with a well\-known soft drink)\s+2
|
|
895 .ft R
|
|
896 .vs
|
|
897 .sp 1i
|
|
898 .ps 18
|
|
899 .vs 22
|
|
900 .ce 2
|
|
901 \*(td
|
|
902 \*(MH
|