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