|
|
1.1 ! root 1: .\" This file is automatically generated. Do not edit! ! 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/usr/new/lib/mh/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/usr/new/lib/mh/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'/usr/new/lib/mh/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/usr/new/lib/mh/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/usr/spool/bboards/BBoards\fR file. ! 287: The file \fBsupport/bboards/Example\fR is a copy of the ! 288: \fB/usr/spool/bboards/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/usr/spool/bboards/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/usr/spool/bboards/BBoards\fR file, ! 315: with the complete distribution list. ! 316: For the local machines list, ! 317: and add a similar entry to the \fB/usr/spool/bboards/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/usr/spool/bboards/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: .if t \{ ! 389: .ll 6.5i ! 390: .lt 6.5i ! 391: \} ! 392: .fo '[mh.6]'MH'UCI version' ! 393: .po -.50i ! 394: .so bboards5.me ! 395: .so bbaka.me ! 396: .so bbexp.me ! 397: .so bboards8.me ! 398: .so bbtar.me ! 399: .po +.50i ! 400: .he ''-%-'' ! 401: .fo '''' ! 402: .br ! 403: .if t \{ ! 404: .ll 32P ! 405: .lt 32P ! 406: \} ! 407: ! 408: .+c "POP" ! 409: .pp ! 410: For POP (Post Office Protocol) client hosts, ! 411: you need to edit the \fB/usr/new/lib/mh/mtstailor\fR file to know about two ! 412: hosts: ! 413: the SMTP service host and the POP service host. ! 414: Normally, these are the same. ! 415: Change the \*(lqlocalname\*(rq field of the \fBmtstailor\fR file ! 416: of \fIMH\fR in the file to be the name of the POP service host. ! 417: Also set the value of \*(lqpophost\*(rq to this value. ! 418: Finally, ! 419: make sure the value of \*(lqservers\*(rq includes the name of the SMTP ! 420: service host. ! 421: The recommended value for \*(lqservers\*(rq is: ! 422: ! 423: .ti +.5i ! 424: servers:\ SMTP\-service\-host localhost \\01localnet ! 425: .pp ! 426: If you want more information on the Post Office Protocol used by \fIMH\fR, ! 427: consult the file \fBsupport/pop/pop.rfc\fR, ! 428: which is the \fIMH\fR revision to RFC918. ! 429: .pp ! 430: For POP service hosts, ! 431: you need to run a daemon, \fIpopd\fR\0(8). ! 432: The daemon should start at multi\-user boot time, ! 433: so adding the lines: ! 434: .sp ! 435: .nf ! 436: .in +.5i ! 437: if [ \-f /etc/popd ]; then ! 438: /etc/popd & echo \-n ' pop' >/dev/console ! 439: fi ! 440: .in \-.5i ! 441: .fi ! 442: to the \fB/etc/rc.local\fR file is sufficient. ! 443: In addition, ! 444: on both the POP client and service hosts, ! 445: you need to define the port that the POP service uses. ! 446: Add the line ! 447: .nf ! 448: .in +.5i ! 449: pop 109/tcp # experimental ! 450: .in \-.5i ! 451: .fi ! 452: to the \fB/etc/services\fR file (if it's not already there). ! 453: .pp ! 454: There are two ways to administer POP: ! 455: In \*(lqnaive\*(rq mode, ! 456: each user-id in the \fIpasswd\fR\0(5) file is considered a POP subscriber. ! 457: No changes are required for the mailsystem on the POP service host. ! 458: However, ! 459: this method requires that each POP subscriber have an entry in the password ! 460: file. ! 461: The POP server will fetch the user's mail from wherever maildrops are kept on ! 462: the POP service host. ! 463: This means that if maildrops are kept in the user's home directory, ! 464: then each POP subscriber must have a home directory. ! 465: ! 466: In \*(lqsmart\*(rq mode ! 467: (enabled via \*(lqDPOP\*(rq being given as a configuration option), ! 468: the list of POP subscribers and the list of ! 469: login users are completely separate name spaces. ! 470: A separate database (simple file similar to the \fIBBoards\fR\0(5) file) ! 471: is used to record information about each POP subscriber. ! 472: Unfortunately, ! 473: the local mailsystem must be changed to reflect this. ! 474: This requires two changes (both of which are simple): ! 475: First, ! 476: the aliasing mechanism is augmented so that POP subscriber addresses ! 477: are diverted to a special delivery mechanism. ! 478: \fIMH\fR comes with a program, \fIpopaka\fR\0(8), ! 479: which generates the additional information to be put in the mailsystem's ! 480: alias file. ! 481: Second, ! 482: a special POP channel (for MMDF-II) or POP mailer (for SendMail) ! 483: performs the actual delivery (\fImh.6\fR supplies both). ! 484: All it really does is just place the mail in the POP spool area. ! 485: .pp ! 486: These two different philosophies are not compatible on the same POP service ! 487: host: one or the other, but not both may be run. ! 488: Clever mailsystem people will note that ! 489: the POP mechanism is really a special case of the more general ! 490: BBoards mechanism. ! 491: .pp ! 492: In addition, there is one user-visible difference, ! 493: which the administrator controls the availability of. ! 494: The difference is whether the POP subscriber must supply a password to the POP ! 495: server: ! 496: The first method uses the standard ARPA technique of sending a username and a ! 497: password. ! 498: The appropriate programs (\fIinc\fR, \fImsgchk\fR, and possibly \fIbbc\fR\0) ! 499: will prompt the user for this information. ! 500: .pp ! 501: The second method ! 502: (which is enabled via \*(lqRPOP\*(rq being given as a configuration option) ! 503: uses the Berkeley UNIX reserved port method for authentication. ! 504: This requires that the two or three mentioned above programs be ! 505: \fIsetuid\fR to root. ! 506: (There are no known holes in any of these programs.) ! 507: .pp ! 508: These two different philosophies are compatible on the same POP service host: ! 509: to selectively disable RPOP for hosts which aren't trusted, ! 510: either modify the \fI\&.rhosts\fR file in the case of POP subscribers being ! 511: UNIX logins, ! 512: or zero the contents of network address field of the \fIpop\fR\0(5) file for ! 513: the desired POP subscribers. ! 514: .if t \{ ! 515: .ll 6.5i ! 516: .lt 6.5i ! 517: \} ! 518: .fo '[mh.6]'MH'UCI version' ! 519: .po -.50i ! 520: .so pop5.me ! 521: .so pop8.me ! 522: .so popaka.me ! 523: .so popd.me ! 524: .so popwrd.me ! 525: .po +.50i ! 526: .he ''-%-'' ! 527: .fo '''' ! 528: .br ! 529: .if t \{ ! 530: .ll 32P ! 531: .lt 32P ! 532: \} ! 533: ! 534: .+c "MAIL FILTERING" ! 535: .pp ! 536: There was a time when users on a UNIX host might have had two maildrops: ! 537: one from \fIMMDF\fR and the other from \fIUUCP\fR. ! 538: This was really a bad problem since it prevented using a single ! 539: user\-interface on all of your mail. ! 540: Furthermore, ! 541: if you wanted to send a message to addresses on different mailsystems, ! 542: you couldn't send just one message. ! 543: To solve all these problems, ! 544: the notion of \fImail filtering\fR was developed that allowed sophisticated ! 545: munging and relaying between the two pseudo\-domains. ! 546: .pp ! 547: \fIMH\fR will perform mail filtering, transparently, if given the MF ! 548: configuration option. ! 549: However, ! 550: with the advent of \fISendMail\fR and further maturation of \fIMMDF\fR, ! 551: \fIMH\fR doesn't really need to do this anymore, ! 552: since these message transport agents handle it. ! 553: .pp ! 554: The mail\-filtering stuff is too complicated. ! 555: It should be simpler, but, protocol translation really \fIis\fR difficult. ! 556: .if t \{ ! 557: .ll 6.5i ! 558: .lt 6.5i ! 559: \} ! 560: .fo '[mh.6]'MH'UCI version' ! 561: .po -.50i ! 562: .so mf.me ! 563: .so rmail.me ! 564: .po +.50i ! 565: .he ''-%-'' ! 566: .fo '''' ! 567: .br ! 568: .if t \{ ! 569: .ll 32P ! 570: .lt 32P ! 571: \} ! 572: ! 573: .+c "MH HACKING" ! 574: .pp ! 575: Finally, here's a little information on modifying the \fIMH\fR sources. ! 576: A word of advice however: ! 577: .sp 2 ! 578: .ce ! 579: .b \s+4DON'T\s0 ! 580: .sp 2 ! 581: .lp ! 582: If you really want new \fIMH\fR capabilities, ! 583: write a shell script instead. ! 584: After all, ! 585: that's what UNIX is all about, isn't it? ! 586: .pp ! 587: Here's the organization of the \fIMH\fR source tree. ! 588: .sp ! 589: .nf ! 590: .in +.5i ! 591: .ta \w'miscellany/ 'u +\w'sendmail/ 'u ! 592: conf/ configurator tree ! 593: config/ compiled configuration constants ! 594: dist/ distributor ! 595: doc/ manual entries ! 596: h/ include files ! 597: mts/ MTS\-specific areas ! 598: mh/ standalone delivery ! 599: mmdf/ MMDF\-I, MMDF\-II ! 600: sendmail/ SendMail, SMTP ! 601: miscellany/ various sundries ! 602: papers/ papers about \fIMH\fR ! 603: sbr/ subroutines ! 604: support/ support programs and files ! 605: bboards/ UCI BBoards facility ! 606: general/ templates ! 607: pop/ POP facility ! 608: uip/ programs ! 609: zotnet/ MTS\-independent areas ! 610: bboards/ UCI BBoards facility ! 611: mf/ Mail Filtering ! 612: mts/ MTS constants ! 613: tws/ date routines ! 614: .re ! 615: .in -.5i ! 616: .fi ! 617: .if t \{ ! 618: .ll 6.5i ! 619: .lt 6.5i ! 620: \} ! 621: .fo '[mh.6]'MH'UCI version' ! 622: .po -.50i ! 623: .so mh-hack.me ! 624: .po +.50i ! 625: .he ''-%-'' ! 626: .fo '''' ! 627: .br ! 628: .if t \{ ! 629: .ll 32P ! 630: .lt 32P ! 631: \} ! 632: ! 633: .+c "HIDDEN FEATURES" ! 634: .pp ! 635: The capabilities discussed here should not be used on a production basis, ! 636: as they are either experimental or are useful for debugging \fIMH\fR. ! 637: ! 638: .uh "Debug Facilities" ! 639: .pp ! 640: The \fImark\fR command has a `\-debug' switch which essentially prints out ! 641: all the internal \fIMH\fR data structures for the folder you're looking at. ! 642: .pp ! 643: The \fIpost\fR command has a `\-debug' switch which does everything but ! 644: actually post the message for you. ! 645: Instead of posting the draft, it sends it to the standard output. ! 646: Similarly, ! 647: \fIsend\fR has a `\-debug' switch which gets passed to \fIpost\fR. ! 648: .pp ! 649: Some \fIMH\fR commands look at environment variables to determine debug\-mode operation ! 650: of certain new facilities. ! 651: The current list of environment variables is: ! 652: .sp ! 653: .nf ! 654: .in +.5i ! 655: .ta \w'MHLPOPDEBUG 'u ! 656: ^MHFDEBUG~^OVERHEAD facility ! 657: ^MHLDEBUG~^mhl ! 658: ^MHPDEBUG~^pick ! 659: ^MHPOPDEBUG~^POP transactions ! 660: ^MHVDEBUG~^window management transactions ! 661: ^MHWDEBUG~^alternate\-mailboxes ! 662: .re ! 663: .in -.5i ! 664: .fi ! 665: ! 666: .uh "Send" ! 667: .pp ! 668: The \fIsend\fR command has two switches, `\-unique' and `\-nounique', ! 669: which are useful to certain individuals who, for obscure reasons, ! 670: do not use draft\-folders. ! 671: ! 672: .uh "Posting Mail" ! 673: .pp ! 674: If you're running a version of \fIMH\fR which talks directly to an ! 675: \fISMTP\fR server (or perhaps an advanced \fIMMDF\fR submit process), ! 676: there are lots of interesting switches for your amusement which \fIsend\fR ! 677: and \fIpost\fR understand: ! 678: .nf ! 679: .in +.5i ! 680: .ta \w'-server host 'u ! 681: ^-mail~^Use the \fIMAIL\fR command (default) ! 682: ^-saml~^Use the \fISAML\fR command ! 683: ^-send~^Use the \fISEND\fR command ! 684: ^-soml~^Use the \fISOML\fR command ! 685: ^-snoop~^Watch the \fISMTP\fR transaction ! 686: ^-client host~^Claim to be \*(lqhost\*(rq when posting mail ! 687: ^-server host~^Post mail with \*(lqhost\*(rq ! 688: .re ! 689: .in -.5i ! 690: .fi ! 691: .pp ! 692: The last switch is to be useful when \fIMH\fR resides on small ! 693: workstations (or PC:s) in a network\-\-they can post their outgoing mail with ! 694: a local relay, ! 695: and reduce the load on the local system. ! 696: On POP client hosts, ! 697: the `\-server\ host' switch is defaulted appropriately using the SMTP ! 698: search\-list mechanism. ! 699: The \fIwhom\fR command understands the last three switches. ! 700: ! 701: .+c "CONFIGURATION OPTIONS" ! 702: .pp ! 703: This manual was generated with the following configuration options in ! 704: effect: ! 705: .sp 2 ! 706: .hl ! 707: .nf ! 708: .in +1.25i ! 709: .ta \w'BBoards Home Directory 'u ! 710: ^Generation Date~^\*(td ! 711: ^Primary Directory~^/usr/new/mh/ ! 712: ^Secondary Directory~^/usr/new/lib/mh/ ! 713: ^Maildrop Location~^/usr/spool/mail/$USER ! 714: ^Transport System~^SendMail \*(SM ! 715: .re ! 716: .in -1.5i ! 717: .fi ! 718: .hl ! 719: .\" table of contents ! 720: .he '''' ! 721: .fo '''' ! 722: .bp ! 723: .ce ! 724: .b \\s12CONTENTS\\s0 ! 725: .sp 3 ! 726: .xp y ! 727: .xp x ! 728: .bp ! 729: .\" And now the COVER sheet ! 730: .po +.325i ! 731: .ll 32P ! 732: .nf ! 733: ! 734: .sp 1.5in ! 735: .ps 24 ! 736: .vs 32 ! 737: .ft B ! 738: .ce 4 ! 739: THE RAND MH ! 740: MESSAGE HANDLING ! 741: SYSTEM: ! 742: ADMINISTRATOR'S GUIDE ! 743: .ft R ! 744: .sp .8i ! 745: .ps 20 ! 746: .vs 24 ! 747: .ce ! 748: UCI Version ! 749: .sp 0.7i ! 750: .ce 2 ! 751: Marshall T. Rose ! 752: .sp 0.5i ! 753: .ft I ! 754: .ce 3 ! 755: First Edition: ! 756: MH Classic ! 757: \s-2(Not to be confused with a well\-known soft drink)\s+2 ! 758: .ft R ! 759: .vs ! 760: .sp 1i ! 761: .ps 18 ! 762: .vs 22 ! 763: .ce 2 ! 764: \*(td ! 765: \*(MH
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.