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