Added docs/historical/. See README for where they were found.
[mmh] / 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