9 _
\bd_
\bi_
\bs_
\bc_
\ba_
\br_
\bd _
\bt_
\bh_
\bi_
\bs _
\bp_
\ba_
\bg_
\be
73 _
\b1. _
\bI_
\bN_
\bT_
\bR_
\bO_
\bD_
\bU_
\bC_
\bT_
\bI_
\bO_
\bN
80 \e9 _
\bS_
\bc_
\bo_
\bp_
\be _
\bo_
\bf _
\bt_
\bh_
\bi_
\bs _
\bd_
\bo_
\bc_
\bu_
\bm_
\be_
\bn_
\bt
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.
87 Before continuing, I'll point out two facts:
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.
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.
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
108 \e9 _
\bS_
\bu_
\bm_
\bm_
\ba_
\br_
\by
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
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
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.
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.
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.
152 Finally, you may want to know how to modify the _
\bM_
\bH source tree.
153 Section 6 talks (a little bit) about that.
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.
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.
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.
202 _
\b2. _
\bT_
\bH_
\bE _
\bM_
\bT_
\bS _
\bI_
\bN_
\bT_
\bE_
\bR_
\bF_
\bA_
\bC_
\bE
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.
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:
218 00 05 * * * /usr/local/lib/mh/conflict -mail PostMaster
264 MH-TAILOR(5) -4- MH-TAILOR(5)
268 /usr/local/lib/mh/mtstailor - system customization for MH message
271 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
272 any _
\bM_
\bH command that interacts with the MTS
274 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
281 The options available along with default values and a description
282 of their meanings are listed below:
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.
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
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.
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.
307 mmdelim1: \001\001\001\001\n
308 The beginning-of-message delimiter for maildrops.
310 mmdelim2: \001\001\001\001\n
311 The end-of-message delimiter for maildrops.
314 If non-zero, then support for MMailids in /etc/passwd is
315 enabled. Basically, the pw_gecos field in the password file
318 My Full Name <mailid>
320 [mh.6] MH.6.7 UCI version
330 MH-TAILOR(5) -5- MH-TAILOR(5)
333 The _
\bM_
\bH internal routines that deal with user and full names
334 will return "mailid" and "My Full Name" respectively.
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).
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.
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.
356 The highest user-id which should NOT receive mail addressed to
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.
365 _
\bM_
\ba_
\bi_
\bl _
\bF_
\bi_
\bl_
\bt_
\be_
\br_
\bi_
\bn_
\bg
367 These options are only available if you compiled _
\bM_
\bH with
370 uucpchan: name of _
\bU_
\bU_
\bC_
\bP channel
371 Usually "UUCP". This has no equivalent in the _
\bM_
\bH configura-
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.
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.
383 umincproc: /usr/local/lib/mh/uminc
384 The path to the program that filters _
\bU_
\bU_
\bC_
\bP-style maildrops to
386 [mh.6] MH.6.7 UCI version
396 MH-TAILOR(5) -6- MH-TAILOR(5)
399 _
\bM_
\bM_
\bD_
\bF-style maildrops.
401 _
\bS_
\bt_
\ba_
\bn_
\bd-_
\bA_
\bl_
\bo_
\bn_
\be _
\bD_
\be_
\bl_
\bi_
\bv_
\be_
\br_
\by
403 These options are only available if you compiled _
\bM_
\bH to use stand-
404 alone delivery (i.e., "mts: mh").
406 mailqdir: /usr/spool/netmail
407 The directory where network mail is queued.
410 The directory where network mail queue files are built.
413 If ON, unauthorized mail is copied to the overseer.
416 The user that receives reports of unauthorized mail.
419 The user acting for the mail system.
421 fromtmp: /tmp/rml.f.XXXXXX
422 The _
\bm_
\bk_
\bt_
\be_
\bm_
\bp template for storing from lines.
424 msgtmp: /tmp/rml.m.XXXXXX
425 The _
\bm_
\bk_
\bt_
\be_
\bm_
\bp template for storing the rest of the message.
427 errtmp: /tmp/rml.e.XXXXXX
428 The _
\bm_
\bk_
\bt_
\be_
\bm_
\bp template for storing error messages from other
432 The octal mode which temporary files are set to.
434 okhosts: /usr/local/lib/mh/Rmail.OKHosts
435 A file containing a list of hosts that can sent ARPAnet mail.
437 okdests: /usr/local/lib/mh/RMail.OKDests
438 A file containing a list of hosts that can always receive
441 _
\bT_
\bh_
\be `/_
\bs_
\bm_
\bt_
\bp' _
\bM_
\bT_
\bS _
\bS_
\bu_
\bf_
\bf_
\bi_
\bx
443 These options are only available if you compiled _
\bM_
\bH with the
444 "/smtp" suffix to your "mts:" configuration.
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:
450 1. Comments are surrounded by sharp (`#') and newline.
452 [mh.6] MH.6.7 UCI version
462 MH-TAILOR(5) -7- MH-TAILOR(5)
465 2. Words are surrounded by whitespace.
466 3. The first word on the line is the official name of a
468 4. All words following the official names are aliases for
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).
484 _
\bS_
\be_
\bn_
\bd_
\bM_
\ba_
\bi_
\bl
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").
489 sendmail: /usr/lib/sendmail
490 The pathname to the _
\bs_
\be_
\bn_
\bd_
\bm_
\ba_
\bi_
\bl program.
492 _
\bP_
\bo_
\bs_
\bt _
\bO_
\bf_
\bf_
\bi_
\bc_
\be _
\bP_
\br_
\bo_
\bt_
\bo_
\bc_
\bo_
\bl
494 This option is only available if you compiled _
\bM_
\bH with POP support
495 enabled (i.e., "pop: on").
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.
502 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd_
\bs _
\bD_
\be_
\bl_
\bi_
\bv_
\be_
\br_
\by
504 This option is only available if you compiled _
\bM_
\bH with
508 The local BBoards domain (a UCI hack).
510 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd_
\bs & _
\bT_
\bh_
\be _
\bP_
\bO_
\bP
512 These options are only available if you compiled _
\bM_
\bH with
513 "bboards: pop" and "pop: on".
516 The POP service host which also acts as a BBoard server. This
518 [mh.6] MH.6.7 UCI version
528 MH-TAILOR(5) -8- MH-TAILOR(5)
531 variable should be set on the POP BBoards client host.
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
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.
546 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd_
\bs & _
\bT_
\bh_
\be _
\bN_
\bN_
\bT_
\bP
548 This option is only available if you compiled _
\bM_
\bH with
549 "bboards: nntp" and "pop: on".
552 The host which provides the NNTP service. This variable
553 should be set on the NNTP BBoards client host.
555 _
\bF_
\bi_
\bl_
\be _
\bL_
\bo_
\bc_
\bk_
\bi_
\bn_
\bg
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.
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.
579 /usr/local/lib/mh/mtstailor tailor file
583 \e9 [mh.6] MH.6.7 UCI version
593 MH-TAILOR(5) -9- MH-TAILOR(5)
596 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
600 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
604 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
608 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
648 \e9 [mh.6] MH.6.7 UCI version
658 MH-MTS(8) -10- MH-MTS(8)
662 mh-mts - the MH interface to the message transport system
664 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
671 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
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.
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
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.
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.
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
714 [mh.6] MH.6.7 UCI version
724 MH-MTS(8) -11- MH-MTS(8)
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).
739 /usr/local/lib/mh/mtstailor tailor file
742 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
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-
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)
753 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
757 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
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.
779 \e9 [mh.6] MH.6.7 UCI version
792 _
\b3. _
\bB_
\bB_
\bO_
\bA_
\bR_
\bD_
\bS
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".
802 \e9 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd _
\bD_
\be_
\bl_
\bi_
\bv_
\be_
\br_
\by
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.
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.
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
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.
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
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
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.
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).
882 \e9 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd_
\bs _
\bw_
\bi_
\bt_
\bh _
\bt_
\bh_
\be _
\bP_
\bO_
\bP
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.)
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.
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
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
927 \e9 _
\bB_
\bB_
\bo_
\ba_
\br_
\bd_
\bs _
\bw_
\bi_
\bt_
\bh _
\bt_
\bh_
\be _
\bN_
\bN_
\bT_
\bP
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-
942 Reading BBoards via the POP and via the NNTP are mutually
984 BBOARDS(5) -15- BBOARDS(5)
988 BBoards - BBoards database
990 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
993 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
995 The BBoards database contains for each BBoard the following infor-
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>)
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
1020 This file resides in the home directory of the login "bboards".
1021 Because of the encrypted passwords, it can and does have general
1024 _
\bF_
\bi_
\bl_
\be_
\bs
1025 /usr/bboards/BBoards BBoards database
1028 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1029 bbaka(8), bbexp(8), bboards (8), bbtar(8)
1033 A binary indexed file format should be available for fast access.
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
1039 \e9 [mh.6] MH.6.7 UCI version
1049 BBOARDS(5) -16- BBOARDS(5)
1053 bbaka - generate an alias list for BBoards
1055 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1056 /usr/bboards/bbaka [system]
1058 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
1066 _
\bF_
\bi_
\bl_
\be_
\bs
1067 /usr/bboards/BBoards BBoards database
1068 /usr/local/lib/mh/BBoardsAliases BBoards aliases file for _
\bM_
\bH
1071 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1075 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1079 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1083 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1104 \e9 [mh.6] MH.6.7 UCI version
1114 BBEXP(8) -17- BBEXP(8)
1118 bbexp - expunge the BBoards area
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 ...]
1123 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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).
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.
1135 _
\bF_
\bi_
\bl_
\be_
\bs
1136 /usr/bboards/BBoards BBoards database
1139 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1143 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1147 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1151 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1169 \e9 [mh.6] MH.6.7 UCI version
1179 BBOARDS(8) -18- BBOARDS(8)
1183 bboards - BBoards channel/mailer
1185 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1186 /usr/mmdf/chans/bboards fd1 fd2 [y]
1188 /usr/local/lib/mh/sbboards bboard ...
1190 /usr/local/lib/mh/sbboards file maildrop directory bboards.bboard
1192 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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
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.
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
1210 _
\bF_
\bi_
\bl_
\be_
\bs
1211 /usr/local/lib/mh/mtstailor tailor file
1212 /usr/bboards/BBoards BBoards database
1215 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1219 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1220 bboards(5), bbaka(8)
1223 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1227 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1234 \e9 [mh.6] MH.6.7 UCI version
1244 BBTAR(8) -19- BBTAR(8)
1248 bbtar - generate the names of archive files to be put to tape
1250 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1251 /usr/bboards/bbtar [private] [public]
1253 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
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
1267 cd archive # change to the archive directory
1268 tar cv `bbtar private` # save all private BBoard archives
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).
1274 _
\bF_
\bi_
\bl_
\be_
\bs
1275 /usr/bboards/BBoards BBoards database
1278 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1282 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1283 bboards(5), bbexp(8)
1286 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1290 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1299 \e9 [mh.6] MH.6.7 UCI version
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:
1329 servers: SMTP-service-host localhost \01localnet
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.
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:
1338 if [ -f /etc/popd ]; then
1339 /etc/popd & echo -n ' pop' >/dev/console
1342 to the /etc/rc.local file is sufficient.
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
1350 To generate _
\bM_
\bH to use newer assigned port number, in your _
\bM_
\bH config
1353 options POPSERVICE='"pop3"'
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:
1360 to the /etc/services file (if it's not already there).
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
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
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.
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.
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
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
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
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.
1509 POP - POP database of subscribers
1511 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1514 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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:
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
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.
1532 To add a new POP subscriber, edit the file adding a line such as
1534 mrose::mrose:::::::0
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:
1541 mrose::mrose:::mrose@nrtc-isc::::0
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:
1547 dave::dave:9X5/m4yWHvhCc::dave@romano.wisc.edu,dave@rsch.wisc.edu::::
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.
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-
1560 \e9 [mh.6] MH.6.7 UCI version
1573 _
\bF_
\bi_
\bl_
\be_
\bs
1574 /usr/spool/pop/POP POP database
1577 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1578 bboards(5), pop(8), popaka(8), popd(8), popwrd(8)
1582 A binary indexed file format should be available for fast access.
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
1625 \e9 [mh.6] MH.6.7 UCI version
1639 pop - POP channel/mailer
1641 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1642 /usr/mmdf/chans/pop fd1 fd2 [y]
1644 /usr/local/lib/mh/spop POP-subscriber ...
1646 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
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
1657 _
\bF_
\bi_
\bl_
\be_
\bs
1658 /usr/local/lib/mh/mtstailor tailor file
1659 /usr/spool/pop/POP POP database
1662 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1666 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1667 bboards(5), bbaka(8)
1670 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1674 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1690 \e9 [mh.6] MH.6.7 UCI version
1700 POPAKA(8) -26- POPAKA(8)
1704 popaka - generate POP entries for SendMail or MMDF-II alias file
1706 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1707 /usr/local/lib/mh/popaka
1709 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
1716 _
\bF_
\bi_
\bl_
\be_
\bs
1717 /usr/spool/pop/POP POP database
1720 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1724 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1728 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1732 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
1755 \e9 [mh.6] MH.6.7 UCI version
1765 POPD(8) -27- POPD(8)
1769 popd - the POP server
1771 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1772 /usr/etc/popd [-p portno] (under /etc/rc.local)
1774 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
1781 _
\bF_
\bi_
\bl_
\be_
\bs
1782 /usr/spool/pop/POP POP database
1785 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
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
1796 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1800 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
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.
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).
1820 \e9 [mh.6] MH.6.7 UCI version
1830 POPWRD(8) -28- POPWRD(8)
1834 popwrd - set password for a POP subscriber
1836 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1837 /usr/local/lib/mh/popwrd POP-subscriber
1839 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
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.
1851 _
\bF_
\bi_
\bl_
\be_
\bs
1852 /usr/spool/pop/POP POP database
1855 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
1859 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
1863 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
1867 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
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.
1885 \e9 [mh.6] MH.6.7 UCI version
1898 _
\b5. _
\bM_
\bA_
\bI_
\bL _
\bF_
\bI_
\bL_
\bT_
\bE_
\bR_
\bI_
\bN_
\bG
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.
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.
1916 The mail-filtering stuff is too complicated. It should be simpler,
1917 but, protocol translation really _
\bi_
\bs difficult.
1964 muinc, musift, uminc, umsift - mail filters
1966 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
1967 /usr/local/lib/mh/muinc
1969 /usr/local/lib/mh/musift [files ...]
1971 /usr/local/lib/mh/uminc
1973 /usr/local/lib/mh/umsift [files ...]
1975 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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
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.
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-
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.
1997 _
\bF_
\bi_
\bl_
\be_
\bs
1998 /usr/spool/mail/ UUCP spool area for maildrops
1999 /usr/spool/mail/$USER Location of standard maildrop
2002 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
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),
2011 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
2015 \e9 [mh.6] MH.6.7 UCI version
2028 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
2032 Numerous; protocol translation is very difficult.
2080 \e9 [mh.6] MH.6.7 UCI version
2090 RMAIL(8) -32- RMAIL(8)
2094 rmail - UUCP interface to mail
2096 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
2099 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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.
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.
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
2119 _
\bP_
\br_
\bo_
\bf_
\bi_
\bl_
\be _
\bC_
\bo_
\bm_
\bp_
\bo_
\bn_
\be_
\bn_
\bt_
\bs
2123 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
2127 _
\bD_
\be_
\bf_
\ba_
\bu_
\bl_
\bt_
\bs
2131 _
\bC_
\bo_
\bn_
\bt_
\be_
\bx_
\bt
2145 \e9 [mh.6] MH.6.7 UCI version
2158 _
\b6. _
\bM_
\bH _
\bH_
\bA_
\bC_
\bK_
\bI_
\bN_
\bG
2163 Finally, here's a little information on modifying the _
\bM_
\bH sources.
2164 A word of advice however:
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?
2174 Here's the organization of the _
\bM_
\bH source tree.
2176 conf/ configurator tree
2177 config/ compiled configuration constants
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
2188 support/ support programs and files
2189 bboards/ UCI BBoards facility
2192 tma/ Trusted Mail Agent (not present in all distributions)
2194 zotnet/ MTS-independent areas
2195 bboards/ UCI BBoards facility
2220 MH-HACK(8) -34- MH-HACK(8)
2224 mh-hack - how to hack MH
2226 _
\bS_
\bY_
\bN_
\bO_
\bP_
\bS_
\bI_
\bS
2229 _
\bD_
\bE_
\bS_
\bC_
\bR_
\bI_
\bP_
\bT_
\bI_
\bO_
\bN
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
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
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.
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.
2269 _
\bF_
\bi_
\bl_
\be_
\bs
2270 Too numerous to mention. Honest.
2275 \e9 [mh.6] MH.6.7 UCI version
2285 MH-HACK(8) -35- MH-HACK(8)
2288 _
\bS_
\be_
\be _
\bA_
\bl_
\bs_
\bo
2293 Hacking is an art, but most programmers are butchers, not artists.
2340 \e9 [mh.6] MH.6.7 UCI version
2353 _
\b7. _
\bH_
\bI_
\bD_
\bD_
\bE_
\bN _
\bF_
\bE_
\bA_
\bT_
\bU_
\bR_
\bE_
\bS
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.
2364 \e9 _
\bD_
\be_
\bb_
\bu_
\bg _
\bF_
\ba_
\bc_
\bi_
\bl_
\bi_
\bt_
\bi_
\be_
\bs
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.
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.
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:
2377 MHFDEBUG OVERHEAD facility
2380 MHPOPDEBUG POP transactions
2381 MHVDEBUG window management transactions
2382 MHWDEBUG alternate-mailboxes
2386 \e9 _
\bF_
\bo_
\br_
\bw_
\ba_
\br_
\bd_
\bi_
\bn_
\bg _
\bM_
\ba_
\bi_
\bl
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
2395 \e9 _
\bS_
\be_
\bn_
\bd
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
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
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).
2423 \e9 _
\bP_
\bo_
\bs_
\bt_
\bi_
\bn_
\bg _
\bM_
\ba_
\bi_
\bl
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"
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
2482 _
\b8. _
\bC_
\bO_
\bN_
\bF_
\bI_
\bG_
\bU_
\bR_
\bA_
\bT_
\bI_
\bO_
\bN _
\bO_
\bP_
\bT_
\bI_
\bO_
\bN_
\bS
2487 This manual was generated with the following configuration options
2491 ________________________________________________________________________
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
2498 BBoards using NNTP Enabled
2499 Transport System MMDF-II with SMTP
2500 ________________________________________________________________________
2547 _
\bC_
\bO_
\bN_
\bT_
\bE_
\bN_
\bT_
\bS
2554 1. INTRODUCTION ............................................... 1
2555 \e9 Scope of this document ....................................... 1
2556 \e9 Summary ...................................................... 1
2558 2. THE MTS INTERFACE .......................................... 3
2559 MH-TAILOR ................................................. 4
2560 MH-MTS .................................................... 10
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
2572 4. POP ........................................................ 20
2573 POP ....................................................... 23
2574 POP ....................................................... 25
2575 POPAKA .................................................... 26
2576 POPD ...................................................... 27
2577 POPWRD .................................................... 28
2579 5. MAIL FILTERING ............................................. 29
2580 MF ........................................................ 30
2581 RMAIL ..................................................... 32
2583 6. MH HACKING ................................................. 33
2584 MH-HACK ................................................... 34
2586 7. HIDDEN FEATURES ............................................ 36
2587 \e9 Debug Facilities ............................................. 36
2588 \e9 Forwarding Mail .............................................. 36
2589 \e9 Send ......................................................... 36
2590 \e9 Posting Mail ................................................. 37
2592 8. CONFIGURATION OPTIONS ...................................... 38
2621 \e9 MESSAGE HANDLING
2625 \e9 ADMINISTRATOR'S GUIDE
2643 _
\bF_
\bi_
\br_
\bs_
\bt _
\bE_
\bd_
\bi_
\bt_
\bi_
\bo_
\bn:
2645 _
\bM_
\bH _
\bC_
\bl_
\ba_
\bs_
\bs_
\bi_
\bc
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)