]> diplodocus.org Git - nmh/blob - docs/historical/ADMIN-19910201.txt
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / docs / historical / ADMIN-19910201.txt
1
2
3
4
5
6
7
8
9 _\bd_\bi_\bs_\bc_\ba_\br_\bd _\bt_\bh_\bi_\bs _\bp_\ba_\bg_\be
10
11
12
13
14 The RAND _\bM_\bH
15 Message Handling
16 System:
17 Administrator's Guide
18
19 UCI Version
20
21
22 February 1, 1991
23 6.7.1a #6[UCI]
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 \e9\e9
61
62
63
64
65
66
67
68
69
70
71
72
73 _\b1. _\bI_\bN_\bT_\bR_\bO_\bD_\bU_\bC_\bT_\bI_\bO_\bN
74
75
76
77 \e9
78
79
80 \e9 _\bS_\bc_\bo_\bp_\be _\bo_\bf _\bt_\bh_\bi_\bs _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
81
82 This is the Administrator's Guide to _\bM_\bH. If you don't maintain an
83 _\bM_\bH system, don't read this; the information is entirely too technical.
84 If you are a maintainer, then read this guide until you understand it,
85 follow the advice it gives, and then forget about the guide.
86
87 Before continuing, I'll point out two facts:
88
89
90
91 _\bT_\bh_\bi_\bs _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt _\bw_\bi_\bl_\bl _\bn_\be_\bv_\be_\br _\bc_\bo_\bn_\bt_\ba_\bi_\bn _\ba_\bl_\bl _\bt_\bh_\be _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn
92 _\by_\bo_\bu _\bn_\be_\be_\bd _\bt_\bo _\bm_\ba_\bi_\bn_\bt_\ba_\bi_\bn _\bM_\bH.
93
94 _\bF_\bu_\br_\bt_\bh_\be_\br_\bm_\bo_\br_\be, _\bt_\bh_\bi_\bs _\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt _\bw_\bi_\bl_\bl _\bn_\be_\bv_\be_\br _\bc_\bo_\bn_\bt_\ba_\bi_\bn _\be_\bv_\be_\br_\by_\bt_\bh_\bi_\bn_\bg
95 _\bI _\bk_\bn_\bo_\bw _\ba_\bb_\bo_\bu_\bt _\bm_\ba_\bi_\bn_\bt_\ba_\bi_\bn_\bi_\bn_\bg _\bM_\bH.
96
97
98
99 _\bM_\bH, and mailsystems in general, are more complex than most people real-
100 ize. A combination of experience, intuition, and tenacity is required
101 to maintain _\bM_\bH properly. This document can provide only guidelines for
102 bringing up an _\bM_\bH system and maintaining it. There is a sufficient
103 amount of customization possible that not all events or problems can be
104 forseen.
105
106
107
108 \e9 _\bS_\bu_\bm_\bm_\ba_\br_\by
109
110 During _\bM_\bH generation, you specify several configuration constants
111 to the _\bm_\bh_\bc_\bo_\bn_\bf_\bi_\bg program. These directives take into consideration such
112 issues as hardware and operating system dependencies in the source code.
113 They also factor out some major mailsystem administrative decisions that
114 are likely to be made consistantly at sites with more than one host.
115 The manual entry _\bm_\bh-_\bg_\be_\bn (8) describes all the static configuration
116 directives.
117
118 However, when you install _\bM_\bH you may wish to make some
119 site-specific or host-specific changes which aren't hardware or even
120 software related. Rather, they are administrative decisions. That's
121 what this guide is for: it describes all of the dynamically tailorable
122 directives.
123
124 \e9
125
126
127
128
129
130
131
132
133
134 -2-
135
136
137 Usually, after installing _\bM_\bH, you'll want to edit the
138 /usr/local/lib/mh/mtstailor file. This file fine-tunes the way _\bM_\bH
139 interacts with the message transport system (MTS). Section 2 talks
140 about the MTS interface and MTS tailoring.
141
142 After that, if you're running the UCI BBoards facility, or the POP
143 facility, you'll need to know how to maintain those systems. Sections 3
144 and 4 talk about these.
145
146 If for some reason you're not running an MTS that can handle both
147 Internet and _\bU_\bU_\bC_\bP traffic, you should read-up on mail filtering in Sec-
148 tion 5. Although this is considered "old technology" now, the mechan-
149 isms described in Section 5 were really quite useful when first intro-
150 duced way back in 1981.
151
152 Finally, you may want to know how to modify the _\bM_\bH source tree.
153 Section 6 talks (a little bit) about that.
154
155 The last two sections describe a few hidden features in _\bM_\bH, and the
156 configuration options that were in effect when this guide was generated.
157
158 After _\bM_\bH is installed, you should define the address "Bug-MH" to
159 map to either you or the _\bP_\bo_\bs_\bt_\bM_\ba_\bs_\bt_\be_\br at your site.
160
161 In addition, if you want to tailor the behavior of _\bM_\bH for new
162 users, you can create and edit the file /usr/local/lib/mh/mh.profile.
163 When the _\bi_\bn_\bs_\bt_\ba_\bl_\bl-_\bm_\bh program is run for a user, if this file exists, it
164 will copy it into the user's .mh_profile file.
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188 \e9
189 \e9
190
191
192
193
194
195
196
197
198
199
200
201
202 _\b2. _\bT_\bH_\bE _\bM_\bT_\bS _\bI_\bN_\bT_\bE_\bR_\bF_\bA_\bC_\bE
203
204
205
206 \e9
207 The file /usr/local/lib/mh/mtstailor customizes certain
208 host-specific parameters of _\bM_\bH related primarily to interactions with
209 the transport system. The parameters in this file override the
210 compiled-in defaults given during _\bM_\bH configuration. Rather than recom-
211 piling _\bM_\bH on each host to make minor customizations, it is easier simply
212 to modify the mtstailor file. All hosts at a given site normally use
213 the same mtstailor file, though this need not be the case.
214
215 It is a good idea to run the _\bc_\bo_\bn_\bf_\bl_\bi_\bc_\bt (8) program each morning
216 under _\bc_\br_\bo_\bn. The following line usually suffices:
217
218 00 05 * * * /usr/local/lib/mh/conflict -mail PostMaster
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254 \e9 -3-
255
256
257
258
259
260
261
262
263
264 MH-TAILOR(5) -4- MH-TAILOR(5)
265
266
267 _\bN_\bA_\bM_\bE
268 /usr/local/lib/mh/mtstailor - system customization for MH message
269 system
270
271 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
272 any _\bM_\bH command that interacts with the MTS
273
274 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
275
276 The file /usr/local/lib/mh/mtstailor defines run-time options for
277 those _\bM_\bH programs which interact (in some form) with the message
278 transport system. At present, these (user) programs are: _\ba_\bp, _\bc_\bo_\bn_\b-
279 _\bf_\bl_\bi_\bc_\bt, _\bi_\bn_\bc, _\bm_\bs_\bg_\bc_\bh_\bk, _\bm_\bs_\bh, _\bp_\bo_\bs_\bt, _\br_\bc_\bv_\bd_\bi_\bs_\bt, and _\br_\bc_\bv_\bp_\ba_\bc_\bk.
280
281 The options available along with default values and a description
282 of their meanings are listed below:
283
284 localname:
285 The host name _\bM_\bH considers local. If not set, depending on
286 the version of UNIX you're running, _\bM_\bH will query the system
287 for this value (e.g., <whoami.h>, gethostname, etc.). This
288 has no equivalent in the _\bM_\bH configuration file. POP client
289 hosts have this value set to the name of the POP service host.
290
291 systemname:
292 The name of the local host in the _\bU_\bU_\bC_\bP "domain". If not set,
293 depending on the version of UNIX you're running, _\bM_\bH will query
294 the system for this value. This has no equivalent in the _\bM_\bH
295 configuration file.
296
297 mmdfldir: /usr/spool/mail
298 The directory where maildrops are kept. If this is empty, the
299 user's home directory is used. This overrides the "mail"
300 field in the _\bM_\bH configuration file.
301
302 mmdflfil:
303 The name of the maildrop file in the directory where maildrops
304 are kept. If this is empty, the user's login name is used.
305 This overrides the "mail" field in the _\bM_\bH configuration file.
306
307 mmdelim1: \001\001\001\001\n
308 The beginning-of-message delimiter for maildrops.
309
310 mmdelim2: \001\001\001\001\n
311 The end-of-message delimiter for maildrops.
312
313 mmailid: 0
314 If non-zero, then support for MMailids in /etc/passwd is
315 enabled. Basically, the pw_gecos field in the password file
316 is of the form
317
318 My Full Name <mailid>
319
320 [mh.6] MH.6.7 UCI version
321
322
323
324
325
326
327
328
329
330 MH-TAILOR(5) -5- MH-TAILOR(5)
331
332
333 The _\bM_\bH internal routines that deal with user and full names
334 will return "mailid" and "My Full Name" respectively.
335
336 lockstyle: 0
337 The locking-discipline to perform. A value of "0" means to
338 use _\bf_\bl_\bo_\bc_\bk if available, or _\bl_\bo_\bc_\bk_\bf if LOCKF was defined when
339 building _\bM_\bH. On non-BSD42 systems, standard _\bB_\be_\bl_\bl_\bM_\ba_\bi_\bl locking
340 is used. A value of "1" means to use _\bB_\be_\bl_\bl_\bM_\ba_\bi_\bl locking always
341 (the name of the lock is based on the file name). A value of
342 "2" means to use _\bM_\bM_\bD_\bF locking always (the name of the lock is
343 based on device/inode pairs).
344
345 lockldir:
346 The name of the directory for making locks. If your system
347 doesn't have the _\bf_\bl_\bo_\bc_\bk or _\bl_\bo_\bc_\bk_\bf syscalls, then this directory
348 is used when creating locks. If the value is empty, then the
349 directory of the file to be locked is used.
350
351 maildelivery: /usr/local/lib/mh/maildelivery
352 The name of the system-wide default ._\bm_\ba_\bi_\bl_\bd_\be_\bl_\bi_\bv_\be_\br_\by file. See
353 _\bm_\bh_\bo_\bo_\bk (1) for the details.
354
355 everyone: 200
356 The highest user-id which should NOT receive mail addressed to
357 "everyone".
358
359 noshell:
360 If set, then each user-id greater than "everyone" that has a
361 login shell equivalent to the given value (e.g., "/bin/csh")
362 indicates that mail for "everyone" should not be sent to them.
363 This is useful for handling admin, dummy, and guest logins.
364
365 _\bM_\ba_\bi_\bl _\bF_\bi_\bl_\bt_\be_\br_\bi_\bn_\bg
366
367 These options are only available if you compiled _\bM_\bH with
368 "options MF".
369
370 uucpchan: name of _\bU_\bU_\bC_\bP channel
371 Usually "UUCP". This has no equivalent in the _\bM_\bH configura-
372 tion file.
373
374 uucpldir: /usr/spool/mail
375 The name of the directory where _\bU_\bU_\bC_\bP maildrops are kept. This
376 has no equivalent in the _\bM_\bH configuration file.
377
378 uucplfil:
379 The name of the maildrop file in the directory where _\bU_\bU_\bC_\bP
380 maildrops are kept. If this is empty, the user's login name
381 is used. This has no equivalent in the _\bM_\bH configuration file.
382
383 umincproc: /usr/local/lib/mh/uminc
384 The path to the program that filters _\bU_\bU_\bC_\bP-style maildrops to
385
386 [mh.6] MH.6.7 UCI version
387
388
389
390
391
392
393
394
395
396 MH-TAILOR(5) -6- MH-TAILOR(5)
397
398
399 _\bM_\bM_\bD_\bF-style maildrops.
400
401 _\bS_\bt_\ba_\bn_\bd-_\bA_\bl_\bo_\bn_\be _\bD_\be_\bl_\bi_\bv_\be_\br_\by
402
403 These options are only available if you compiled _\bM_\bH to use stand-
404 alone delivery (i.e., "mts: mh").
405
406 mailqdir: /usr/spool/netmail
407 The directory where network mail is queued.
408
409 tmailqdir: /usr/tmp
410 The directory where network mail queue files are built.
411
412 syscpy: 1
413 If ON, unauthorized mail is copied to the overseer.
414
415 overseer: root
416 The user that receives reports of unauthorized mail.
417
418 mailer: root
419 The user acting for the mail system.
420
421 fromtmp: /tmp/rml.f.XXXXXX
422 The _\bm_\bk_\bt_\be_\bm_\bp template for storing from lines.
423
424 msgtmp: /tmp/rml.m.XXXXXX
425 The _\bm_\bk_\bt_\be_\bm_\bp template for storing the rest of the message.
426
427 errtmp: /tmp/rml.e.XXXXXX
428 The _\bm_\bk_\bt_\be_\bm_\bp template for storing error messages from other
429 mailers.
430
431 tmpmode: 0600
432 The octal mode which temporary files are set to.
433
434 okhosts: /usr/local/lib/mh/Rmail.OKHosts
435 A file containing a list of hosts that can sent ARPAnet mail.
436
437 okdests: /usr/local/lib/mh/RMail.OKDests
438 A file containing a list of hosts that can always receive
439 mail.
440
441 _\bT_\bh_\be `/_\bs_\bm_\bt_\bp' _\bM_\bT_\bS _\bS_\bu_\bf_\bf_\bi_\bx
442
443 These options are only available if you compiled _\bM_\bH with the
444 "/smtp" suffix to your "mts:" configuration.
445
446 hostable: /usr/local/lib/mh/hosts
447 The exceptions file for /etc/hosts used by _\bp_\bo_\bs_\bt to try to find
448 official names. The format of this file is quite simple:
449
450 1. Comments are surrounded by sharp (`#') and newline.
451
452 [mh.6] MH.6.7 UCI version
453
454
455
456
457
458
459
460
461
462 MH-TAILOR(5) -7- MH-TAILOR(5)
463
464
465 2. Words are surrounded by whitespace.
466 3. The first word on the line is the official name of a
467 host.
468 4. All words following the official names are aliases for
469 that host.
470
471 servers: localhost \01localnet
472 A lists of hosts and networks which to look for SMTP servers
473 when posting local mail. It turns out this is a major win for
474 hosts which don't run an message transport system. The value
475 of "servers" should be one or more items. Each item is the
476 name of either a host or a net (in the latter case, precede
477 the name of the net by a \01). This list is searched when
478 looking for a smtp server to post mail. If a host is present,
479 the SMTP port on that host is tried. If a net is present, the
480 SMTP port on each host in that net is tried. Note that if you
481 are running with the BIND code, then any networks specified
482 are ignored (sorry, the interface went away under BIND).
483
484 _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl
485
486 This option is only available if you compiled _\bM_\bH to use _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl as
487 your delivery agent (i.e., "mts: sendmail").
488
489 sendmail: /usr/lib/sendmail
490 The pathname to the _\bs_\be_\bn_\bd_\bm_\ba_\bi_\bl program.
491
492 _\bP_\bo_\bs_\bt _\bO_\bf_\bf_\bi_\bc_\be _\bP_\br_\bo_\bt_\bo_\bc_\bo_\bl
493
494 This option is only available if you compiled _\bM_\bH with POP support
495 enabled (i.e., "pop: on").
496
497 pophost:
498 The name of the default POP service host. If this is not set,
499 then _\bM_\bH looks in the standard maildrop areas for waiting mail,
500 otherwise the named POP service host is consulted.
501
502 _\bB_\bB_\bo_\ba_\br_\bd_\bs _\bD_\be_\bl_\bi_\bv_\be_\br_\by
503
504 This option is only available if you compiled _\bM_\bH with
505 "bbdelivery: on".
506
507 bbdomain:
508 The local BBoards domain (a UCI hack).
509
510 _\bB_\bB_\bo_\ba_\br_\bd_\bs & _\bT_\bh_\be _\bP_\bO_\bP
511
512 These options are only available if you compiled _\bM_\bH with
513 "bboards: pop" and "pop: on".
514
515 popbbhost:
516 The POP service host which also acts as a BBoard server. This
517
518 [mh.6] MH.6.7 UCI version
519
520
521
522
523
524
525
526
527
528 MH-TAILOR(5) -8- MH-TAILOR(5)
529
530
531 variable should be set on the POP BBoards client host.
532
533 popbbuser:
534 The guest account on the POP/BB service host. This should be
535 a different login ID than either the POP user or the BBoards
536 user. (The user-id "ftp" is highly recommended.) This vari-
537 able should be set on both the POP BBoards client and service
538 hosts.
539
540 popbblist: /usr/local/lib/mh/hosts.popbb
541 A file containing of lists of hosts that are allowed to use
542 the POP facility to access BBoards using the guest account.
543 If this file is not present, then no check is made. This
544 variable should be set on the POP BBoards service host.
545
546 _\bB_\bB_\bo_\ba_\br_\bd_\bs & _\bT_\bh_\be _\bN_\bN_\bT_\bP
547
548 This option is only available if you compiled _\bM_\bH with
549 "bboards: nntp" and "pop: on".
550
551 nntphost:
552 The host which provides the NNTP service. This variable
553 should be set on the NNTP BBoards client host.
554
555 _\bF_\bi_\bl_\be _\bL_\bo_\bc_\bk_\bi_\bn_\bg
556
557 A few words on locking: _\bM_\bH has a flexible locking system for making
558 locks on files. There are two mtstailor variables you should be
559 aware of "lockstyle" and "lockldir". The first controls the method
560 of locking, the second says where lock files should be created.
561 The "lockstyle" variable can take on three values: 0, 1, 2. A
562 value of 0 is useful on BSD42 systems. If you included the LOCKF
563 option when building _\bM_\bH, the _\bl_\bo_\bc_\bk_\bf syscall is used, otherwise the
564 _\bf_\bl_\bo_\bc_\bk syscall is used. If you're not on a 4.2BSD system, a locking
565 style of 0 is considered the same as locking style 1.
566
567 A value of 1 or 2 specifies that a file should be created whose
568 existence means "locked" and whose non-existence means "unlocked".
569 A value of 1 says to construct the lockname by appending ".lock" to
570 the name of the file being locked. A value of 2 says to construct
571 the lockname by looking at the device and inode numbers of the file
572 being locked. If the "lockldir" variable is not specified, lock
573 files will be created in the directory where the file being locked
574 resides. Otherwise, lock files will be created in the directory
575 specified by "lockldir". Prior to installing _\bM_\bH, you should see
576 how locking is done at your site, and set the appropriate values.
577
578 _\bF_\bi_\bl_\be_\bs
579 /usr/local/lib/mh/mtstailor tailor file
580
581
582 \e9
583 \e9 [mh.6] MH.6.7 UCI version
584
585
586
587
588
589
590
591
592
593 MH-TAILOR(5) -9- MH-TAILOR(5)
594
595
596 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
597 None
598
599
600 _\bS_\be_\be _\bA_\bl_\bs_\bo
601 mh-gen(8), mh-mts(8)
602
603
604 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
605 As listed above
606
607
608 _\bC_\bo_\bn_\bt_\be_\bx_\bt
609 None
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647 \e9
648 \e9 [mh.6] MH.6.7 UCI version
649
650
651
652
653
654
655
656
657
658 MH-MTS(8) -10- MH-MTS(8)
659
660
661 _\bN_\bA_\bM_\bE
662 mh-mts - the MH interface to the message transport system
663
664 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
665 SendMail
666
667 MMDF (any release)
668
669 stand-alone
670
671 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
672
673 _\bM_\bH can use a wide range of message transport systems to deliver
674 mail. Although the _\bM_\bH administrator usually doesn't get to choose
675 which MTS to use (since it's already in place), this document
676 briefly describes the interfaces.
677
678 When communicating with _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl, _\bM_\bH always uses the SMTP to post
679 mail. Depending on the _\bM_\bH configuration, _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl may be invoked
680 directly (via a _\bf_\bo_\br_\bk and an _\be_\bx_\be_\bc), or _\bM_\bH may open a TCP/IP connec-
681 tion to the SMTP server on the localhost.
682
683 When communicating with _\bM_\bM_\bD_\bF, normally _\bM_\bH uses the "mm_" routines
684 to post mail. However, depending on the _\bM_\bH configuration, _\bM_\bH
685 instead may open a TCP/IP connection to the SMTP server on the
686 localhost.
687
688 When using the stand-alone system (NOT recommended), _\bM_\bH delivers
689 local mail itself and queues _\bU_\bU_\bC_\bP and network mail. The network
690 mail portion will probably have to be modified to reflect the local
691 host's tastes, since there is no well-known practice in this area
692 for all types of UNIX hosts.
693
694 If you are running a UNIX system with TCP/IP networking, then it is
695 felt that the best interface is achieved by using either _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl
696 or _\bM_\bM_\bD_\bF with the SMTP option. This gives greater flexibility. To
697 enable this option you append the /smtp suffix to the mts option in
698 the _\bM_\bH configuration. This yields two primary advantages: First,
699 you don't have to know where _\bs_\bu_\bb_\bm_\bi_\bt or _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl live. This means
700 that _\bM_\bH binaries (e.g., _\bp_\bo_\bs_\bt ) don't have to have this information
701 hard-coded, or can run different programs altogether; and, second,
702 you can post mail with the server on different systems, so you
703 don't need either _\bM_\bM_\bD_\bF or _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl on your local host. Big win in
704 conserving cycles and disk space. Since _\bM_\bH supports the notion of
705 a server search-list in this respect, this approach can be tolerant
706 of faults. Be sure to set "servers:" as described in mh-tailor(8)
707 if you use this option.
708
709 There are four disadvantages to using the SMTP option: First, only
710 UNIX systems with TCP/IP are supported. Second, you need to have
711 an SMTP server running somewhere on any network your local host can
712 reach. Third, this bypasses any authentication mechanisms in _\bM_\bM_\bD_\bF
713
714 [mh.6] MH.6.7 UCI version
715
716
717
718
719
720
721
722
723
724 MH-MTS(8) -11- MH-MTS(8)
725
726
727 or _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl. Fourth, the file /etc/hosts is used for hostname
728 lookups (although there is an exception file). In response to
729 these disadvantages though: First, there's got to be an SMTP server
730 somewhere around if you're in the Internet or have a local network.
731 Since the server search-list is very general, a wide-range of
732 options are possible. Second, SMTP should be fixed to have authen-
733 tication mechanisms in it, like POP. Third, _\bM_\bH won't choke on mail
734 to hosts whose official names it can't verify, it'll just plug
735 along (and besides if you enable the BERK or DUMB configuration
736 options, _\bM_\bH ignores the hosts file altogether).
737
738 _\bF_\bi_\bl_\be_\bs
739 /usr/local/lib/mh/mtstailor tailor file
740
741
742 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
743 None
744
745
746 _\bS_\be_\be _\bA_\bl_\bs_\bo
747 _\bM_\bM_\bD_\bF-_\bI_\bI: _\bA _\bT_\be_\bc_\bh_\bn_\bi_\bc_\ba_\bl _\bR_\be_\bv_\bi_\be_\bw, Proceedings, Usenix Summer '84 Confer-
748 ence
749 _\bS_\bE_\bN_\bD_\bM_\bA_\bI_\bL -- _\bA_\bn _\bI_\bn_\bt_\be_\br_\bn_\be_\bt_\bw_\bo_\br_\bk _\bM_\ba_\bi_\bl _\bR_\bo_\bu_\bt_\be_\br
750 mh-tailor(8), post(8)
751
752
753 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
754 None
755
756
757 _\bC_\bo_\bn_\bt_\be_\bx_\bt
758 None
759
760
761 _\bB_\bu_\bg_\bs
762 The /usr/local/lib/mh/mtstailor file ignores the information in the
763 _\bM_\bM_\bD_\bF-_\bI_\bI tailoring file. It should not.
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778 \e9
779 \e9 [mh.6] MH.6.7 UCI version
780
781
782
783
784
785
786
787
788
789
790
791
792 _\b3. _\bB_\bB_\bO_\bA_\bR_\bD_\bS
793
794
795
796 \e9
797 The UCI BBoards facility has two aspects: message reading, and mes-
798 sage delivery. The configuration directives applicable to BBoards are
799 "bboards: on/off/pop/nntp" and "bbdelivery: on/off".
800
801
802 \e9 _\bB_\bB_\bo_\ba_\br_\bd _\bD_\be_\bl_\bi_\bv_\be_\br_\by
803
804 If you enabled BBoards delivery ("bbdelivery: on") during confi-
805 guration, then the initial environment for bboards delivery was set-up
806 during installation. A BBoard called "system" is established, which is
807 the BBoard for general discussion.
808
809 To add more BBoards, become the "bboards" user, and edit the
810 /usr/bboards/BBoards file. The file support/bboards/Example is a copy
811 of the /usr/bboards/BBoards file that we use at UCI. When you add a
812 BBoard, you don't have to create the files associated with it, the
813 BBoards delivery system will do that automatically.
814
815 Private BBoards may be created. To add the fictitious private
816 BBoard "hacks", add the appropriate entry to the BBoards file, create
817 the empty file /usr/bboards/hacks.mbox (or whatever), change the mode of
818 this file to 0640, and change the group of the file to be the groupid of
819 the people that you want to be able to read it. Also be sure to add the
820 "bboards" user to this group (in /etc/group), so the archives can be
821 owned correctly.
822
823 By using the special INVIS flag for a BBoard, special purpose
824 BBoards may be set-up which are invisible to the _\bM_\bH user. For example,
825 if a site distributes a BBoard both locally to a number of machines and
826 to a number of distant machines. It might be useful to have two distri-
827 bution lists: one for all machines on the list, and the other for local
828 machines only. This is actually very simple to do. For the main list,
829 put the standard entry of information in the /usr/bboards/BBoards file,
830 with the complete distribution list. For the local machines list, and
831 add a similar entry to the /usr/bboards/BBoards file. All the fields
832 should be the same except three: the BBoard name should reflect a local
833 designation (e.g., "l-hacks"), the distribution list should contain only
834 machines at the local site, and the flags field should contain the INVIS
835 flag. Since the two entries share the same primary and archive files,
836 messages sent to either list are read by local users, while only thoses
837 messages sent to the main list are read by all users.
838
839 Two automatic facilities for dealing with BBoards exist: automatic
840 archiving and automatic aliasing. The file support/bboards/crontab con-
841 tains some entries that you should add to your /usr/lib/crontab file to
842 run the specified programs at times that are convenient for you. The
843
844 -12-
845
846
847
848
849
850
851
852
853
854 -13-
855
856
857 bboards.daily file is run once a day and generates an alias file for _\bM_\bH.
858 By using this file, users of _\bM_\bH can use, for example, "unix-wizards"
859 instead of "unix-wizards@brl-vgr" when they want to send a message to
860 the "unix-wizards" discussion group. This is a major win, since you
861 just have to know the name of the group, not the address where it's
862 located.
863
864 The bboards.weekly file is run once a week and handles old messages
865 (those received more than 12 days ago) in the BBoards area. In short,
866 those BBoards which are marked for automatic archiving will have their
867 old messages placed in the /usr/bboards/archive/ area, or have their old
868 messages removed. Not only does this make BBoards faster to read, but
869 it conveniently partitions the new messages from the old messages so you
870 can easily put the old messages on tape and then remove them. It turns
871 out that this automatic archiving capability is also a major win.
872
873 At UCI, our policy is to save archived messages on tape (every two
874 months or so). We use a program called _\bb_\bb_\bt_\ba_\br to implement our particu-
875 lar policy. Since some BBoards are private (see above), we save the
876 archives on two tapes: one containing the world-readable archives (this
877 tape is read-only accessible to all users by calling the operator), and
878 the other containing the non-world-readable ones (this tape is kept
879 locked-up somewhere).
880
881
882 \e9 _\bB_\bB_\bo_\ba_\br_\bd_\bs _\bw_\bi_\bt_\bh _\bt_\bh_\be _\bP_\bO_\bP
883
884 If you configured _\bM_\bH with "bboards: pop" and "pop: on", then the _\bM_\bH
885 user is allowed to read BBoards on a server machine instead of the local
886 host (thus saving disk space). For completely transparent behavior, the
887 administrator may set certain variables in the mtstailor file on the
888 client host. The variable "popbbhost" indicates the host where BBoards
889 are kept (it doesn't have to be the POP service host, but this host must
890 run both a POP server and the BBoards system). The variable "popbbuser"
891 indicates the guest account on this host for BBoards. This username
892 should not be either the POP user or the BBoards user. Usually the
893 anonymous FTP user (ftp) is the best choice. Finally, the variable
894 "popbblist" indicates the name of a file which contains a list of hosts
895 (one to a line, official host names only) which should be allowed to use
896 the POP facility to access BBoards via the guest account. (If the file
897 is not present, then no check is made.)
898
899 The "popbbuser" variable should be set on both the client and ser-
900 vice host. The "popbbhost" variable need be set only on the client host
901 (the value, of course, is the name of the service host). The
902 "popbblist" variable need be set only on the service host.
903
904 Finally, on the client host, if a POP service host is not expli-
905 citly given by the user (i.e., "popbbhost" is implicitly used), then _\bb_\bb_\bc
906 will explicitly check the local host prior to contacting the service
907 host. This allows each POP client host to have a few local BBoards
908
909 \e9
910
911
912
913
914
915
916
917
918
919 -14-
920
921
922 (e.g., each host could have one called "system"), and then have the POP
923 service host used for all the rest (a site-wide BBoard might be known as
924 "general").
925
926
927 \e9 _\bB_\bB_\bo_\ba_\br_\bd_\bs _\bw_\bi_\bt_\bh _\bt_\bh_\be _\bN_\bN_\bT_\bP
928
929 If you configured _\bM_\bH with "bboards: nntp" and "pop: on", then the
930 _\bM_\bH user is allowed to read the Network News on a server machine using
931 the standard _\bb_\bb_\bc command. For completely transparent behavior, the
932 administrator may set the "nntphost" variable in the mtstailor file to
933 indicate the host where the Network News is kept. The "nntphost" vari-
934 able should be set only on the client host Finally, on the client host,
935 if an NNTP service host is not explicitly given by the user (i.e.,
936 "nntphost" is implicitly used), then _\bb_\bb_\bc will explicitly check the local
937 host prior to contacting the service host. This allows each NNTP client
938 host to have a few local BBoards (e.g., each host could have one called
939 "system"), and then have the NNTP service host used for to read the Net-
940 work News.
941
942 Reading BBoards via the POP and via the NNTP are mutually
943 exclusive.
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974 \e9
975
976
977
978
979
980
981
982
983
984 BBOARDS(5) -15- BBOARDS(5)
985
986
987 _\bN_\bA_\bM_\bE
988 BBoards - BBoards database
989
990 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
991 /usr/bboards/BBoards
992
993 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
994
995 The BBoards database contains for each BBoard the following infor-
996 mation:
997
998 _\bf_\bi_\be_\bl_\bd _\bv_\ba_\bl_\bu_\be
999 name the name of the BBoard
1000 aliases local aliases for the BBoard
1001 (separated by commas)
1002 primary file the .mbox file
1003 encrypted password leadership password
1004 leaders local list maintainers (separated by commas)
1005 usernames from the _\bp_\ba_\bs_\bs_\bw_\bd (5) file,
1006 or groupnames preceded by `=' from the
1007 _\bg_\br_\bo_\bu_\bp (5) file
1008 network address the list address
1009 request address the list maintainer's address
1010 relay the host acting as relay for the local domain
1011 distribution sites (separated by commas)
1012 flags special flags (see <bboards.h>)
1013
1014 This is an ASCII file. Each field within each BBoard's entry is
1015 separated from the next by a colon. Each BBoard entry is separated
1016 from the next by a new-line. If the password field is null, no
1017 password is demanded; if it contains a single asterisk, then no
1018 password is valid.
1019
1020 This file resides in the home directory of the login "bboards".
1021 Because of the encrypted passwords, it can and does have general
1022 read permission.
1023
1024 _\bF_\bi_\bl_\be_\bs
1025 /usr/bboards/BBoards BBoards database
1026
1027
1028 _\bS_\be_\be _\bA_\bl_\bs_\bo
1029 bbaka(8), bbexp(8), bboards (8), bbtar(8)
1030
1031
1032 _\bB_\bu_\bg_\bs
1033 A binary indexed file format should be available for fast access.
1034
1035 Appropriate precautions must be taken to lock the file against
1036 changes if it is to be edited with a text editor. A _\bv_\bi_\bb_\bb program
1037 is needed.
1038 \e9
1039 \e9 [mh.6] MH.6.7 UCI version
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049 BBOARDS(5) -16- BBOARDS(5)
1050
1051
1052 _\bN_\bA_\bM_\bE
1053 bbaka - generate an alias list for BBoards
1054
1055 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1056 /usr/bboards/bbaka [system]
1057
1058 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1059
1060 The _\bb_\bb_\ba_\bk_\ba program reads the BBoards database and produces on its
1061 standard output a file suitable for inclusion in either the _\bM_\bM_\bD_\bF-_\bI_\bI
1062 aliases file (if the argument `system' is given). If the argument
1063 is not given, then _\bb_\bb_\ba_\bk_\ba produces on its standard output a file
1064 suitable for becoming the /usr/local/lib/mh/BBoardsAliases file.
1065
1066 _\bF_\bi_\bl_\be_\bs
1067 /usr/bboards/BBoards BBoards database
1068 /usr/local/lib/mh/BBoardsAliases BBoards aliases file for _\bM_\bH
1069
1070
1071 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1072 None
1073
1074
1075 _\bS_\be_\be _\bA_\bl_\bs_\bo
1076 bboards(5)
1077
1078
1079 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1080 None
1081
1082
1083 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1084 None
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103 \e9
1104 \e9 [mh.6] MH.6.7 UCI version
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114 BBEXP(8) -17- BBEXP(8)
1115
1116
1117 _\bN_\bA_\bM_\bE
1118 bbexp - expunge the BBoards area
1119
1120 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1121 /usr/bboards/bbexp [-_\bf_\bi_\br_\bs_\bt-_\bm_\be_\bt_\br_\bi_\bc] [-_\bs_\be_\bc_\bo_\bn_\bd-_\bm_\be_\bt_\br_\bi_\bc] [bboards ...]
1122
1123 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1124
1125 The _\bb_\bb_\be_\bx_\bp program reads the BBoards database and calls _\bm_\bs_\bh to
1126 archive the named BBoards (or all BBoards if none are specified).
1127
1128 The first-metric (which defaults to 12) gives the age in days of
1129 the "BB-Posted:" field for messages which should be expunged. The
1130 second-metric (which defaults to 20) gives the age in days of the
1131 "Date:" field for messages which should be expunged. Any message
1132 which meets either metric will be either archived or removed,
1133 depending on what the _\bB_\bB_\bo_\ba_\br_\bd_\bs (5) file says.
1134
1135 _\bF_\bi_\bl_\be_\bs
1136 /usr/bboards/BBoards BBoards database
1137
1138
1139 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1140 None
1141
1142
1143 _\bS_\be_\be _\bA_\bl_\bs_\bo
1144 msh(1), bboards(5)
1145
1146
1147 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1148 None
1149
1150
1151 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1152 None
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168 \e9
1169 \e9 [mh.6] MH.6.7 UCI version
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179 BBOARDS(8) -18- BBOARDS(8)
1180
1181
1182 _\bN_\bA_\bM_\bE
1183 bboards - BBoards channel/mailer
1184
1185 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1186 /usr/mmdf/chans/bboards fd1 fd2 [y]
1187
1188 /usr/local/lib/mh/sbboards bboard ...
1189
1190 /usr/local/lib/mh/sbboards file maildrop directory bboards.bboard
1191
1192 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1193
1194 For _\bM_\bM_\bD_\bF, the BBoards channel delivers mail to the BBoards system.
1195 For _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl and stand-alone _\bM_\bH, the SBBoards mailer performs this
1196 task.
1197
1198 For each address given, these programs consult the _\bb_\bb_\bo_\ba_\br_\bd_\bs (5) file
1199 to ascertain information about the BBoard named by the address.
1200 The programs then perform local delivery, if appropriate. After
1201 that, with the exception of _\bs_\bb_\bb_\bo_\ba_\br_\bd_\bs running under stand-alone _\bM_\bH,
1202 the programs perform redistribution, if appropriate.
1203
1204 For redistribution, the return address is set to be the request
1205 address at the local host, so bad addresses down the line return to
1206 the nearest point of authority. If any failures occur during
1207 redistribution, a mail message is sent to the local request
1208 address.
1209
1210 _\bF_\bi_\bl_\be_\bs
1211 /usr/local/lib/mh/mtstailor tailor file
1212 /usr/bboards/BBoards BBoards database
1213
1214
1215 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1216 None
1217
1218
1219 _\bS_\be_\be _\bA_\bl_\bs_\bo
1220 bboards(5), bbaka(8)
1221
1222
1223 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1224 None
1225
1226
1227 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1228 None
1229
1230
1231
1232
1233 \e9
1234 \e9 [mh.6] MH.6.7 UCI version
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244 BBTAR(8) -19- BBTAR(8)
1245
1246
1247 _\bN_\bA_\bM_\bE
1248 bbtar - generate the names of archive files to be put to tape
1249
1250 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1251 /usr/bboards/bbtar [private] [public]
1252
1253 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1254
1255 The _\bb_\bb_\bt_\ba_\br program reads the BBoards database and produces on its
1256 standard output the names of BBoards archives which should be put
1257 to tape, for direct use in a _\bt_\ba_\br (1) command.
1258
1259 If the argument `private' is given, only private BBoards are con-
1260 sidered. If the argument `public' is given, only public BBoards
1261 are considered. This lets the BBoards administrator write two
1262 tapes, one for general read-access (the public BBoards), and one
1263 for restricted access. The default is all BBoards
1264
1265 For example:
1266
1267 cd archive # change to the archive directory
1268 tar cv `bbtar private` # save all private BBoard archives
1269
1270 After the archives have been saved to tape, they are usually
1271 removed. The archives are then filled again, usually automatically
1272 by cron jobs which run _\bb_\bb_\be_\bx_\bp (8).
1273
1274 _\bF_\bi_\bl_\be_\bs
1275 /usr/bboards/BBoards BBoards database
1276
1277
1278 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1279 None
1280
1281
1282 _\bS_\be_\be _\bA_\bl_\bs_\bo
1283 bboards(5), bbexp(8)
1284
1285
1286 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1287 None
1288
1289
1290 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1291 None
1292
1293
1294
1295
1296
1297
1298 \e9
1299 \e9 [mh.6] MH.6.7 UCI version
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312 _\b4. _\bP_\bO_\bP
1313
1314
1315
1316 \e9
1317 For POP (Post Office Protocol) client hosts, you need to edit the
1318 /usr/local/lib/mh/mtstailor file to know about two hosts: the SMTP ser-
1319 vice host and the POP service host. Normally, these are the same.
1320 Change the "localname" field of the mtstailor file of _\bM_\bH in the file to
1321 be the name of the POP service host. This makes replies to mail gen-
1322 erated on the POP client host possible, since _\bM_\bH will consider use the
1323 hostname of the POP service host as the local hostname for outgoing
1324 mail. Also set the value of "pophost" to this value. This tells _\bi_\bn_\bc
1325 and _\bm_\bs_\bg_\bc_\bh_\bk to use POP instead of looking for mail locally. Finally,
1326 make sure the value of "servers" includes the name of the SMTP service
1327 host. The recommended value for "servers" is:
1328
1329 servers: SMTP-service-host localhost \01localnet
1330
1331 If you want more information on the Post Office Protocol used by
1332 _\bM_\bH, consult the files support/pop/rfc1081.txt and
1333 support/pop/rfc1082.txt which describe the _\bM_\bH version of the POP: POP3.
1334
1335 For POP service hosts, you need to run a daemon, _\bp_\bo_\bp_\bd (8). The
1336 daemon should start at multi-user boot time, so adding the lines:
1337
1338 if [ -f /etc/popd ]; then
1339 /etc/popd & echo -n ' pop' >/dev/console
1340 fi
1341
1342 to the /etc/rc.local file is sufficient.
1343
1344 The port assigned to the POP3 protocol is "110". For historical
1345 reasons, many sites are using port "109" which is the port assigned to
1346 the "POP" (ver. 1) protocol. The configuration option "POPSERVICE" is
1347 the name of the port number that _\bM_\bH POP will try to use, and defaults to
1348 the name "pop".
1349
1350 To generate _\bM_\bH to use newer assigned port number, in your _\bM_\bH config
1351 file, add:
1352
1353 options POPSERVICE='"pop3"'
1354
1355 And on both the POP client and service hosts, you need to define the
1356 port that the POP service uses. Add the line:
1357
1358 pop3 110/tcp
1359
1360 to the /etc/services file (if it's not already there).
1361
1362
1363
1364 \e9 -20-
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374 -21-
1375
1376
1377 There are two ways to administer POP: In "naive" mode, each user-id
1378 in the _\bp_\ba_\bs_\bs_\bw_\bd (5) file is considered a POP subscriber. No changes are
1379 required for the mailsystem on the POP service host. However, this
1380 method requires that each POP subscriber have an entry in the password
1381 file. The POP server will fetch the user's mail from wherever maildrops
1382 are kept on the POP service host. This means that if maildrops are kept
1383 in the user's home directory, then each POP subscriber must have a home
1384 directory.
1385
1386 In "smart" mode (enabled via "DPOP" being given as a configuration
1387 option), the list of POP subscribers and the list of login users are
1388 completely separate name spaces. A separate database (simple file simi-
1389 lar to the _\bB_\bB_\bo_\ba_\br_\bd_\bs (5) file) is used to record information about each
1390 POP subscriber. Unfortunately, the local mailsystem must be changed to
1391 reflect this. This requires two changes (both of which are simple):
1392 First, the aliasing mechanism is augmented so that POP subscriber
1393 addresses are diverted to a special delivery mechanism. _\bM_\bH comes with a
1394 program, _\bp_\bo_\bp_\ba_\bk_\ba (8), which generates the additional information to be
1395 put in the mailsystem's alias file. Second, a special POP channel (for
1396 MMDF-II) or POP mailer (for SendMail) performs the actual delivery (_\bm_\bh._\b6
1397 supplies both). All it really does is just place the mail in the POP
1398 spool area.
1399
1400 These two different philosophies are not compatible on the same POP
1401 service host: one or the other, but not both may be run. Clever mail-
1402 system people will note that the POP mechanism is really a special case
1403 of the more general BBoards mechanism.
1404
1405 In addition, there is one user-visible difference, which the
1406 administrator controls the availability of. The difference is whether
1407 the POP subscriber must supply a password to the POP server: The first
1408 method uses the standard ARPA technique of sending a username and a
1409 password. The appropriate programs (_\bi_\bn_\bc, _\bm_\bs_\bg_\bc_\bh_\bk, and possibly _\bb_\bb_\bc )
1410 will prompt the user for this information.
1411
1412 The second method (which is enabled via "RPOP" being given as a
1413 configuration option) uses the Berkeley UNIX reserved port method for
1414 authentication. This requires that the two or three mentioned above
1415 programs be _\bs_\be_\bt_\bu_\bi_\bd to root. (There are no known holes in any of these
1416 programs.)
1417
1418 To add a POP subscriber, for the first method, one simply follows
1419 the usual procedures for adding a new user, which eventually results in
1420 adding a line to the _\bp_\ba_\bs_\bs_\bw_\bd (5) file; for the second method, one must
1421 edit the POP database file (kept in the home directory of the POP user),
1422 and then run the _\bp_\bo_\bp_\ba_\bk_\ba program. The output of this program is placed
1423 in the aliases file for the transport system (e.g., /usr/lib/aliases for
1424 SendMail).
1425
1426 These two different philosophies are compatible on the same POP
1427 service host: to selectively disable RPOP for hosts which aren't
1428 trusted, either modify the ._\br_\bh_\bo_\bs_\bt_\bs file in the case of POP subscribers
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440 -22-
1441
1442
1443 being UNIX logins, or zero the contents of network address field of the
1444 _\bp_\bo_\bp (5) file for the desired POP subscribers.
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494 \e9
1495 \e9
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505 POP(5) -23- POP(5)
1506
1507
1508 _\bN_\bA_\bM_\bE
1509 POP - POP database of subscribers
1510
1511 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1512 /usr/spool/pop/POP
1513
1514 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1515
1516 The POP database has exactly the same format as the _\bB_\bB_\bo_\ba_\br_\bd_\bs (5)
1517 database, although many fields are unused. Currently, only four
1518 fields are examined:
1519
1520 _\bf_\bi_\be_\bl_\bd _\bv_\ba_\bl_\bu_\be
1521 name the POP subscriber
1522 primary file the maildrop for the POP subscriber
1523 (relative to the POP directory)
1524 encrypted password the POP subscriber's password
1525 network address the remote user allowed to RPOP
1526
1527 This is an ASCII file. Each field within each POP subscriber's
1528 entry is separated from the next by a colon. Each POP subscriber
1529 is separated from the next by a new-line. If the password field is
1530 null, then no password is valid.
1531
1532 To add a new POP subscriber, edit the file adding a line such as
1533
1534 mrose::mrose:::::::0
1535
1536 Then, use _\bp_\bo_\bp_\bw_\br_\bd to set the password for the POP subscriber. If
1537 you wish to allow POP subscribers to access their maildrops without
1538 supplying a password (by using privileged ports), fill-in the net-
1539 work address field, as in:
1540
1541 mrose::mrose:::mrose@nrtc-isc::::0
1542
1543 which permits "mrose@nrtc-isc" to access the maildrop for the POP
1544 subscriber "mrose". Multiple network addresses may be specified by
1545 separating them with commas, as in:
1546
1547 dave::dave:9X5/m4yWHvhCc::dave@romano.wisc.edu,dave@rsch.wisc.edu::::
1548
1549 To disable a POP subscriber from _\br_\be_\bc_\be_\bi_\bv_\bi_\bn_\bg mail, set the primary
1550 file name to the empty string. To prevent a POP subscriber from
1551 _\bp_\bi_\bc_\bk_\bi_\bn_\bg-_\bu_\bp mail, set the encrypted password to "*" and set the net-
1552 work address to the empty string.
1553
1554 This file resides in home directory of the login "pop". Because of
1555 the encrypted passwords, it can and does have general read permis-
1556 sion.
1557
1558
1559 \e9
1560 \e9 [mh.6] MH.6.7 UCI version
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570 POP(5) -24- POP(5)
1571
1572
1573 _\bF_\bi_\bl_\be_\bs
1574 /usr/spool/pop/POP POP database
1575
1576
1577 _\bS_\be_\be _\bA_\bl_\bs_\bo
1578 bboards(5), pop(8), popaka(8), popd(8), popwrd(8)
1579
1580
1581 _\bB_\bu_\bg_\bs
1582 A binary indexed file format should be available for fast access.
1583
1584 Appropriate precautions must be taken to lock the file against
1585 changes if it is to be edited with a text editor. A _\bv_\bi_\bp_\bo_\bp program
1586 is needed.
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624 \e9
1625 \e9 [mh.6] MH.6.7 UCI version
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635 POP(8) -25- POP(8)
1636
1637
1638 _\bN_\bA_\bM_\bE
1639 pop - POP channel/mailer
1640
1641 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1642 /usr/mmdf/chans/pop fd1 fd2 [y]
1643
1644 /usr/local/lib/mh/spop POP-subscriber ...
1645
1646 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1647
1648 For _\bM_\bM_\bD_\bF-_\bI_\bI, the POP channel delivers mail to the POP spool area
1649 for later retrieval by POP subscribers. For _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl, the SPOP
1650 mailer performs this task.
1651
1652 For each address given, these programs consult the _\bp_\bo_\bp (5) file to
1653 obtain information about the POP-subscriber named by the address.
1654 The programs then deliver the message to the spool area for the
1655 POP-subscriber.
1656
1657 _\bF_\bi_\bl_\be_\bs
1658 /usr/local/lib/mh/mtstailor tailor file
1659 /usr/spool/pop/POP POP database
1660
1661
1662 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1663 None
1664
1665
1666 _\bS_\be_\be _\bA_\bl_\bs_\bo
1667 bboards(5), bbaka(8)
1668
1669
1670 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1671 None
1672
1673
1674 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1675 None
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689 \e9
1690 \e9 [mh.6] MH.6.7 UCI version
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700 POPAKA(8) -26- POPAKA(8)
1701
1702
1703 _\bN_\bA_\bM_\bE
1704 popaka - generate POP entries for SendMail or MMDF-II alias file
1705
1706 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1707 /usr/local/lib/mh/popaka
1708
1709 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1710
1711 The _\bp_\bo_\bp_\ba_\bk_\ba program reads the POP database and produces on its stan-
1712 dard output a file suitable for inclusion in the SendMail or
1713 _\bM_\bM_\bD_\bF-_\bI_\bI aliases file. The contents of this file divert mail for
1714 POP subscribers to the POP channel.
1715
1716 _\bF_\bi_\bl_\be_\bs
1717 /usr/spool/pop/POP POP database
1718
1719
1720 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1721 None
1722
1723
1724 _\bS_\be_\be _\bA_\bl_\bs_\bo
1725 pop(5)
1726
1727
1728 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1729 None
1730
1731
1732 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1733 None
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754 \e9
1755 \e9 [mh.6] MH.6.7 UCI version
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765 POPD(8) -27- POPD(8)
1766
1767
1768 _\bN_\bA_\bM_\bE
1769 popd - the POP server
1770
1771 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1772 /usr/etc/popd [-p portno] (under /etc/rc.local)
1773
1774 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1775
1776 The _\bp_\bo_\bp_\bd server implements the Post Office protocol, as described
1777 in RFC1081 and RFC1082. Basically, the server listens on the TCP
1778 port named "pop" for connections and enters the POP upon establish-
1779 ing a connection. The `-p' option overrides the default TCP port.
1780
1781 _\bF_\bi_\bl_\be_\bs
1782 /usr/spool/pop/POP POP database
1783
1784
1785 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1786 None
1787
1788
1789 _\bS_\be_\be _\bA_\bl_\bs_\bo
1790 _\bP_\bo_\bs_\bt _\bO_\bf_\bf_\bi_\bc_\be _\bP_\br_\bo_\bt_\bo_\bc_\bo_\bl - _\bv_\be_\br_\bs_\bi_\bo_\bn _\b3 (aka RFC-1081),
1791 _\bP_\bo_\bs_\bt _\bO_\bf_\bf_\bi_\bc_\be _\bP_\br_\bo_\bt_\bo_\bc_\bo_\bl - _\bv_\be_\br_\bs_\bi_\bo_\bn _\b3: _\bE_\bx_\bt_\be_\bn_\bd_\be_\bd _\bs_\be_\br_\bv_\bi_\bc_\be _\bo_\bf_\bf_\be_\br_\bi_\bn_\bg_\bs
1792 (RFC-1082),
1793 pop(5)
1794
1795
1796 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1797 None
1798
1799
1800 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1801 None
1802
1803
1804 _\bH_\bi_\bs_\bt_\bo_\br_\by
1805 For historical reasons, the _\bM_\bH POP defaults to using the port named
1806 "pop" (109) instead of its newly assigned port named "pop3" (110).
1807 See the POPSERVICE configuration option for more details.
1808
1809 Previous versions of the server (10/28/84) had the restriction that
1810 the POP client may retrieve messages for login users only. This
1811 restriction has been lifted, and true POB support is available
1812 (sending mail to a mailbox on the POP service host which does not
1813 map to a user-id in the password file).
1814
1815
1816
1817
1818
1819 \e9
1820 \e9 [mh.6] MH.6.7 UCI version
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830 POPWRD(8) -28- POPWRD(8)
1831
1832
1833 _\bN_\bA_\bM_\bE
1834 popwrd - set password for a POP subscriber
1835
1836 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1837 /usr/local/lib/mh/popwrd POP-subscriber
1838
1839 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1840
1841 The _\bp_\bo_\bp_\bw_\br_\bd program lets the super-user or the master POP user or a
1842 "leader" of a POP subscriber change the password field for the POP
1843 subscriber in the POP database. This program is very similar to
1844 the _\bp_\ba_\bs_\bs_\bw_\bd (1) program.
1845
1846 Since only the super-user and the master POP user may change any
1847 other fields of the POP database (using an ordinary editor), it is
1848 possible for the system administrator to delegate responsibility to
1849 others to manage groups of POP subscribers.
1850
1851 _\bF_\bi_\bl_\be_\bs
1852 /usr/spool/pop/POP POP database
1853
1854
1855 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
1856 None
1857
1858
1859 _\bS_\be_\be _\bA_\bl_\bs_\bo
1860 pop(5)
1861
1862
1863 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
1864 None
1865
1866
1867 _\bC_\bo_\bn_\bt_\be_\bx_\bt
1868 None
1869
1870
1871 _\bB_\bu_\bg_\bs
1872 Although _\bp_\bo_\bp_\bw_\br_\bd does locking against other invocations of _\bp_\bo_\bp_\bw_\br_\bd,
1873 editor locking for the POP database in general is not implemented.
1874 A _\bv_\bi_\bp_\bo_\bp program is needed.
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884 \e9
1885 \e9 [mh.6] MH.6.7 UCI version
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898 _\b5. _\bM_\bA_\bI_\bL _\bF_\bI_\bL_\bT_\bE_\bR_\bI_\bN_\bG
1899
1900
1901
1902 \e9
1903 There was a time when users on a UNIX host might have had two mail-
1904 drops: one from _\bM_\bM_\bD_\bF and the other from _\bU_\bU_\bC_\bP. This was really a bad
1905 problem since it prevented using a single user-interface on all of your
1906 mail. Furthermore, if you wanted to send a message to addresses on dif-
1907 ferent mailsystems, you couldn't send just one message. To solve all
1908 these problems, the notion of _\bm_\ba_\bi_\bl _\bf_\bi_\bl_\bt_\be_\br_\bi_\bn_\bg was developed that allowed
1909 sophisticated munging and relaying between the two pseudo-domains.
1910
1911 _\bM_\bH will perform mail filtering, transparently, if given the MF con-
1912 figuration option. However, with the advent of _\bS_\be_\bn_\bd_\bM_\ba_\bi_\bl and further
1913 maturation of _\bM_\bM_\bD_\bF, _\bM_\bH doesn't really need to do this anymore, since
1914 these message transport agents handle it.
1915
1916 The mail-filtering stuff is too complicated. It should be simpler,
1917 but, protocol translation really _\bi_\bs difficult.
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950 \e9 -29-
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960 MF(1) -30- MF(1)
1961
1962
1963 _\bN_\bA_\bM_\bE
1964 muinc, musift, uminc, umsift - mail filters
1965
1966 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
1967 /usr/local/lib/mh/muinc
1968
1969 /usr/local/lib/mh/musift [files ...]
1970
1971 /usr/local/lib/mh/uminc
1972
1973 /usr/local/lib/mh/umsift [files ...]
1974
1975 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
1976
1977 The mail filters are a set of programs that filter mail from one
1978 format to another. In particular, _\bU_\bU_\bC_\bP- and _\bM_\bM_\bD_\bF-style mail files
1979 are handled.
1980
1981 _\bm_\bu_\bi_\bn_\bc filters mail from the user's _\bM_\bM_\bD_\bF maildrop into the user's
1982 _\bU_\bU_\bC_\bP maildrop; similarly, _\bu_\bm_\bi_\bn_\bc filters mail from the user's _\bU_\bU_\bC_\bP
1983 maildrop into the user's _\bM_\bM_\bD_\bF maildrop. These two programs respect
1984 each system's maildrop locking protocols.
1985
1986 _\bm_\bu_\bs_\bi_\bf_\bt filters each file on the command line (or the standard input
1987 if no arguments are given), and places the result on the standard
1988 output in _\bU_\bU_\bC_\bP format. The files (or standard input) are expected
1989 to be in _\bM_\bM_\bD_\bF format. _\bu_\bm_\bs_\bi_\bf_\bt does the same thing filtering _\bU_\bU_\bC_\bP
1990 formatted files (or input), and places the _\bM_\bM_\bD_\bF formatted result on
1991 the standard output. No locking protocols are used by these pro-
1992 grams.
1993
1994 If the files aren't in the expected format, the mail filters will
1995 try to recover. In really bad cases, you may lose big.
1996
1997 _\bF_\bi_\bl_\be_\bs
1998 /usr/spool/mail/ UUCP spool area for maildrops
1999 /usr/spool/mail/$USER Location of standard maildrop
2000
2001
2002 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2003 None
2004
2005
2006 _\bS_\be_\be _\bA_\bl_\bs_\bo
2007 _\bP_\br_\bo_\bp_\bo_\bs_\be_\bd _\bS_\bt_\ba_\bn_\bd_\ba_\br_\bd _\bf_\bo_\br _\bM_\be_\bs_\bs_\ba_\bg_\be _\bH_\be_\ba_\bd_\be_\br _\bM_\bu_\bn_\bg_\bi_\bn_\bg (aka RFC-886),
2008 inc(1)
2009
2010
2011 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2012
2013
2014 \e9
2015 \e9 [mh.6] MH.6.7 UCI version
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025 MF(1) -31- MF(1)
2026
2027
2028 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2029
2030
2031 _\bB_\bu_\bg_\bs
2032 Numerous; protocol translation is very difficult.
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079 \e9
2080 \e9 [mh.6] MH.6.7 UCI version
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090 RMAIL(8) -32- RMAIL(8)
2091
2092
2093 _\bN_\bA_\bM_\bE
2094 rmail - UUCP interface to mail
2095
2096 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2097 rmail address ...
2098
2099 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2100
2101 _\bR_\bm_\ba_\bi_\bl is intended as a replacement for those systems without _\bS_\be_\bn_\bd_\b-
2102 _\bM_\ba_\bi_\bl or _\bM_\bM_\bD_\bF. It is normally invoked by _\bu_\bu_\bx on behalf of the
2103 remote _\bU_\bU_\bC_\bP site. For each address, it decides where to send it:
2104 either locally, via another _\bU_\bU_\bC_\bP link, or via the Internet.
2105
2106 _\bR_\bm_\ba_\bi_\bl implements a crude access control facility by consulting the
2107 files Rmail.OkHosts and Rmail.OkDests in the /usr/local/lib/mh/
2108 directory. Hosts listed in the former file can send messages to
2109 anywhere they please. Hosts listed in the latter file can receive
2110 messages from anywhere. Note that a host listed in the first file
2111 is implicitly listed in the second file.
2112
2113 _\bF_\bi_\bl_\be_\bs
2114 /usr/local/lib/mh/mtstailor tailor file
2115 /usr/local/lib/mh/Rmail.OkHosts list of privileged hosts
2116 /usr/local/lib/mh/Rmail.OkDests list of privileged destinations
2117
2118
2119 _\bP_\br_\bo_\bf_\bi_\bl_\be _\bC_\bo_\bm_\bp_\bo_\bn_\be_\bn_\bt_\bs
2120 None
2121
2122
2123 _\bS_\be_\be _\bA_\bl_\bs_\bo
2124 mf(1)
2125
2126
2127 _\bD_\be_\bf_\ba_\bu_\bl_\bt_\bs
2128 None
2129
2130
2131 _\bC_\bo_\bn_\bt_\be_\bx_\bt
2132 None
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144 \e9
2145 \e9 [mh.6] MH.6.7 UCI version
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158 _\b6. _\bM_\bH _\bH_\bA_\bC_\bK_\bI_\bN_\bG
2159
2160
2161
2162 \e9
2163 Finally, here's a little information on modifying the _\bM_\bH sources.
2164 A word of advice however:
2165
2166
2167 _\bD_\bO_\bN'_\bT
2168
2169
2170
2171 If you really want new _\bM_\bH capabilities, write a shell script instead.
2172 After all, that's what UNIX is all about, isn't it?
2173
2174 Here's the organization of the _\bM_\bH source tree.
2175
2176 conf/ configurator tree
2177 config/ compiled configuration constants
2178 dist/ distributor
2179 doc/ manual entries
2180 h/ include files
2181 miscellany/ various sundries
2182 mts/ MTS-specific areas
2183 mh/ standalone delivery
2184 mmdf/ MMDF-I, MMDF-II
2185 sendmail/ SendMail, SMTP
2186 papers/ papers about _\bM_\bH
2187 sbr/ subroutines
2188 support/ support programs and files
2189 bboards/ UCI BBoards facility
2190 general/ templates
2191 pop/ POP facility
2192 tma/ Trusted Mail Agent (not present in all distributions)
2193 uip/ programs
2194 zotnet/ MTS-independent areas
2195 bboards/ UCI BBoards facility
2196 mf/ Mail Filtering
2197 mts/ MTS constants
2198 tws/ date routines
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210 \e9 -33-
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220 MH-HACK(8) -34- MH-HACK(8)
2221
2222
2223 _\bN_\bA_\bM_\bE
2224 mh-hack - how to hack MH
2225
2226 _\bS_\bY_\bN_\bO_\bP_\bS_\bI_\bS
2227 big hack attack
2228
2229 _\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN
2230
2231 This is a description of how one can modify the _\bM_\bH system. The _\bM_\bH
2232 distribution has a lot of complex inter-relations, so before you go
2233 modifying any code, you should read this and understand what is
2234 going on.
2235
2236 ADDING A NEW PROGRAM
2237 Suppose you want to create a new _\bM_\bH command called "pickle".
2238 First, create and edit "pickle.c" in the uip/ directory. Next
2239 edit conf/makefiles/uip to include "pickle". This file has
2240 directions at the end of it which explain how it should be
2241 modified. Next, update any documentation (described below).
2242 At this point you can re-configure _\bM_\bH. See _\bm_\bh-_\bg_\be_\bn(_\b8) for
2243 instructions on how to do this (basically, you want "mhconfig
2244 MH").
2245
2246 ADDING A NEW SUBROUTINE
2247 Suppose you want to create a new _\bM_\bH routine called "pickle".
2248 First, create and edit "pickle.c" in the sbr/ directory. Next
2249 edit conf/makefiles/sbr to include "pickle". This file has
2250 directions at the end of it which explain how it should be
2251 modified. You should modify config/mh.h to define "pickle
2252 ();". Similarly, sbr/llib-lsbr should be modified for _\bl_\bi_\bn_\bt.
2253 At this point you can re-configure _\bM_\bH.
2254
2255 UPDATING DOCUMENTATION
2256 Edit whatever files you want in conf/doc/. When documenting a
2257 new program, such as "pickle", you should create a manual page
2258 with the name "pickle.rf". The file conf/doc/template has a
2259 manual page template that you can use. If you are documenting
2260 a new program, then you should also update three other files:
2261 The file conf/doc/mh.rf should be modified to include the
2262 ".NA" section from "pickle.rf". The file conf/doc/mh-chart.rf
2263 should be modified to include the ".SY" section from
2264 "pickle.rf". Finally, the file conf/doc/MH.rf should be modi-
2265 fied to include a ".so pickle.me". Naturally, none of these
2266 changes will be reflected in the configuration until you actu-
2267 ally run _\bm_\bh_\bc_\bo_\bn_\bf_\bi_\bg.
2268
2269 _\bF_\bi_\bl_\be_\bs
2270 Too numerous to mention. Honest.
2271
2272
2273
2274 \e9
2275 \e9 [mh.6] MH.6.7 UCI version
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285 MH-HACK(8) -35- MH-HACK(8)
2286
2287
2288 _\bS_\be_\be _\bA_\bl_\bs_\bo
2289 mh-gen(8)
2290
2291
2292 _\bB_\bu_\bg_\bs
2293 Hacking is an art, but most programmers are butchers, not artists.
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339 \e9
2340 \e9 [mh.6] MH.6.7 UCI version
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353 _\b7. _\bH_\bI_\bD_\bD_\bE_\bN _\bF_\bE_\bA_\bT_\bU_\bR_\bE_\bS
2354
2355
2356
2357 \e9
2358 The capabilities discussed here should not be used on a production
2359 basis, as they are either experimental, are useful for debugging _\bM_\bH, or
2360 are otherwise not recommended.
2361
2362
2363
2364 \e9 _\bD_\be_\bb_\bu_\bg _\bF_\ba_\bc_\bi_\bl_\bi_\bt_\bi_\be_\bs
2365
2366 The _\bm_\ba_\br_\bk command has a `-debug' switch which essentially prints out
2367 all the internal _\bM_\bH data structures for the folder you're looking at.
2368
2369 The _\bp_\bo_\bs_\bt command has a `-debug' switch which does everything but
2370 actually post the message for you. Instead of posting the draft, it
2371 sends it to the standard output. Similarly, _\bs_\be_\bn_\bd has a `-debug' switch
2372 which gets passed to _\bp_\bo_\bs_\bt.
2373
2374 Some _\bM_\bH commands look at envariables to determine debug-mode opera-
2375 tion of certain new facilities. The current list of envariables is:
2376
2377 MHFDEBUG OVERHEAD facility
2378 MHLDEBUG mhl
2379 MHPDEBUG pick
2380 MHPOPDEBUG POP transactions
2381 MHVDEBUG window management transactions
2382 MHWDEBUG alternate-mailboxes
2383
2384
2385
2386 \e9 _\bF_\bo_\br_\bw_\ba_\br_\bd_\bi_\bn_\bg _\bM_\ba_\bi_\bl
2387
2388 The _\bf_\bo_\br_\bw and _\bm_\bh_\bl commands have two switches, `-dashmunging' and
2389 `-nodashmunging' which enable or disable the prepending of `- ' in for-
2390 warded messages. To use `-nodashmunging', you must use an _\bm_\bh_\bl filter
2391 file.
2392
2393
2394
2395 \e9 _\bS_\be_\bn_\bd
2396
2397 The _\bs_\be_\bn_\bd command has two switches, `-unique' and `-nounique', which
2398 are useful to certain individuals who, for obscure reasons, do not use
2399 draft-folders.
2400
2401 "Distribution Carbon Copy" addresses may be specified in the _\bD_\bc_\bc:
2402 header. This header is removed before posting the message,and a copy of
2403
2404 -36-
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414 -37-
2415
2416
2417 the message is distributed to each listed address. This could be con-
2418 sidered a form of Blind Carbon Copy which is best used for sending to an
2419 address which would never reply (such as an auto-archiver).
2420
2421
2422
2423 \e9 _\bP_\bo_\bs_\bt_\bi_\bn_\bg _\bM_\ba_\bi_\bl
2424
2425 If you're running a version of _\bM_\bH which talks directly to an _\bS_\bM_\bT_\bP
2426 server (or perhaps an advanced _\bM_\bM_\bD_\bF submit process), there are lots of
2427 interesting switches for your amusement which _\bs_\be_\bn_\bd and _\bp_\bo_\bs_\bt understand:
2428 -mail Use the _\bM_\bA_\bI_\bL command (default)
2429 -saml Use the _\bS_\bA_\bM_\bL command
2430 -send Use the _\bS_\bE_\bN_\bD command
2431 -soml Use the _\bS_\bO_\bM_\bL command
2432 -snoop Watch the _\bS_\bM_\bT_\bP transaction
2433 -client host Claim to be "host" when posting mail
2434 -server host Post mail with "host"
2435
2436 The last switch is to be useful when _\bM_\bH resides on small worksta-
2437 tions (or PC:s) in a network--they can post their outgoing mail with a
2438 local relay, and reduce the load on the local system. On POP client
2439 hosts, the `-server host' switch is defaulted appropriately using the
2440 SMTP search-list mechanism. The _\bw_\bh_\bo_\bm command understands the last three
2441 switches.
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469 \e9
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482 _\b8. _\bC_\bO_\bN_\bF_\bI_\bG_\bU_\bR_\bA_\bT_\bI_\bO_\bN _\bO_\bP_\bT_\bI_\bO_\bN_\bS
2483
2484
2485
2486 \e9
2487 This manual was generated with the following configuration options
2488 in effect:
2489
2490
2491 ________________________________________________________________________
2492
2493 Generation Date February 1, 1991
2494 Primary Directory /usr/local/
2495 Secondary Directory /usr/local/lib/mh/
2496 Maildrop Location /usr/spool/mail/$USER
2497 POP Support Enabled
2498 BBoards using NNTP Enabled
2499 Transport System MMDF-II with SMTP
2500 ________________________________________________________________________
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534 \e9 -38-
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547 _\bC_\bO_\bN_\bT_\bE_\bN_\bT_\bS
2548
2549
2550
2551
2552 Section
2553
2554 1. INTRODUCTION ............................................... 1
2555 \e9 Scope of this document ....................................... 1
2556 \e9 Summary ...................................................... 1
2557
2558 2. THE MTS INTERFACE .......................................... 3
2559 MH-TAILOR ................................................. 4
2560 MH-MTS .................................................... 10
2561
2562 3. BBOARDS .................................................... 12
2563 \e9 BBoard Delivery .............................................. 12
2564 \e9 BBoards with the POP ......................................... 13
2565 \e9 BBoards with the NNTP ........................................ 14
2566 BBOARDS ................................................... 15
2567 BBAKA ..................................................... 16
2568 BBEXP ..................................................... 17
2569 BBOARDS ................................................... 18
2570 BBTAR ..................................................... 19
2571
2572 4. POP ........................................................ 20
2573 POP ....................................................... 23
2574 POP ....................................................... 25
2575 POPAKA .................................................... 26
2576 POPD ...................................................... 27
2577 POPWRD .................................................... 28
2578
2579 5. MAIL FILTERING ............................................. 29
2580 MF ........................................................ 30
2581 RMAIL ..................................................... 32
2582
2583 6. MH HACKING ................................................. 33
2584 MH-HACK ................................................... 34
2585
2586 7. HIDDEN FEATURES ............................................ 36
2587 \e9 Debug Facilities ............................................. 36
2588 \e9 Forwarding Mail .............................................. 36
2589 \e9 Send ......................................................... 36
2590 \e9 Posting Mail ................................................. 37
2591
2592 8. CONFIGURATION OPTIONS ...................................... 38
2593
2594
2595 \e9
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619 \e9 THE RAND MH
2620
2621 \e9 MESSAGE HANDLING
2622
2623 \e9 SYSTEM:
2624
2625 \e9 ADMINISTRATOR'S GUIDE
2626
2627
2628
2629
2630
2631
2632 UCI Version
2633
2634
2635
2636
2637
2638 Marshall T. Rose
2639
2640
2641
2642
2643 _\bF_\bi_\br_\bs_\bt _\bE_\bd_\bi_\bt_\bi_\bo_\bn:
2644
2645 _\bM_\bH _\bC_\bl_\ba_\bs_\bs_\bi_\bc
2646
2647 (_\bN_\bo_\bt _\bt_\bo _\bb_\be _\bc_\bo_\bn_\bf_\bu_\bs_\be_\bd _\bw_\bi_\bt_\bh _\ba _\bw_\be_\bl_\bl-_\bk_\bn_\bo_\bw_\bn _\bs_\bo_\bf_\bt _\bd_\br_\bi_\bn_\bk)
2648
2649
2650
2651
2652
2653
2654
2655 February 1, 1991
2656
2657 6.7.1a #6[UCI]
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723 \e9
2724 \e9
2725
2726
2727
2728
2729