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