syd@dsinc.UUCP (Syd Weinstein) (12/11/88)
---- Cut Here and unpack ---- #!/bin/sh # this is part 3 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # file doc/Filter.guid continued # CurArch=3 if test ! -r s2_seq_.tmp then echo "Please unpack part 1 first!" exit 1; fi ( read Scheck if test "$Scheck" != $CurArch then echo "Please unpack part $Scheck next!" exit 1; else exit 0; fi ) < s2_seq_.tmp || exit 1 echo "x - Continuing file doc/Filter.guid" sed 's/^X//' << 'SHAR_EOF' >> doc/Filter.guid X\" Fixes for spacing and doc X\" X\" Revision 2.1 88/07/08 14:47:01 edc X\" Removed allreferences to the X.400 stuff (since it's based on a library X\" we can't distribute with the net version of Elm). Also include a X\" "Bug Reports To" section in the man pages, as well as a note in the X\" documentation title pages stating that "Elm is now in the public trust... X\" send bug reports to..." as per Dave's request. At this point this should X\" be the last of the documentation work before release to the test group. X\" X\" Revision 2.0 88/06/27 13:50:32 edc X\" This is the original 2.0 gamma release as leaked from HP. X\" X.SA 1 X.nr Hy 1 X.nr Pt 1 X.nr Pi 8 X.lg X.HM 1 1 X.rs X.ds HF 3 3 X.ds HP 12 12 10 10 10 X.sp |3.0i X.PF "" X.ce 99 X.ps 20 X\fBThe Elm Filter System Guide\fR X.sp 7 X.ps 12 X\fIWhat the filter program is, what it does, Xand how to use it\fR X.sp 5 XDave Taylor X.sp XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor X.sp 4 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp 4 X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.ps 10 X.SK X.sp 5 X.ps 14 X\fBThe Elm Filter System Guide\fR X.PH "'Elm Filter Guide''version 2.1' X.PF "''Page \\\\nP''" X.nr P 1 X.sp X.ps 10 X(version 2.1) X.sp 2 XDave Taylor X.sp XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor X.sp 2 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp 2 X\*(DT X.ce 0 X.sp 3 X.P XOne of the greatest problems with the burgeoning electronic mail Xexplosion is that I tend to get lots of mail that I don't care about. XAmusingly, perhaps, I have the equivalent of electronic junk mail. XNot amusing, however, is the fact that this can rapidly Xaccumulate and end up taking over my mailbox. X.P XAt the same time I often get mail that, while it is interesting Xand important, can easily be filed to be read later, without ever Xactually having to cluttering up my incoming mailbox. X.sp 2 XThis, then, is what \fIfilter\fR does! The \fIfilter\fR program Xallows you to define a set of rules by which all incoming mail should Xbe screened, and a subsequent set of actions to perform based on whether Xthe conditions were met or not. \fIFilter\fR also has the ability to mail Xa summary of what actions it performed on the incoming mail as often as Xyou'd like. X.sp X.ps 12 X\fB XWriting the Rules\fR X.ps 10 X.sp XThe language for writing \fIfilter\fR rules is pretty simple, actually. XThe fundamental structure is; X.nf X if (\fIcondition\fR) then \fIaction\fR X.fi XWhere \fIcondition\fR is constructed by an arbitrary number of Xindividual conditions of the form ``\fIfield\fR \fIrelation\fR \fIvalue\fR''. X(an optional further type of rule is of the form ``always \fIaction\fR'' Xbut should only be used as the last rule in the ruleset, for obvious Xreasons). XThe \fIfield\fR value can be; X.nf X subject X from X to X lines X contains X.fi Xwhere, if ``lines'' is choosen, the \fIrelation\fR can be any of the Xstandard relationships (`>', `<', `>=', `<=', `!=' and `='). XIf another action is Xchoosen, ``contains'' can be used as the relation, ``='', or, if you'd Xlike, you can skip the relationship entirely (e.g. `subject "joe"'). XThe \fIvalue\fR is any quoted string that is to be matched against Xor number if ``lines'' is the field being considered. X.sp XInvidivual conditions are joined together by using the word ``and'', Xand the logic of a condition can be flipped by using ``not'' as the Xfirst word (e.g. `not subject "joe"'). We'll see more examples of Xthis later. X.sp XNote that the ``or'' logical conjunction isn't a valid part of the X\fIfilter\fR conditional statement. X.sp XFinally, <\fIaction\fR> can be any of; X.nf X delete X save \fIfoldername\fR X savecopy \fIfoldername\fR X forward \fIaddress\fR X execute \fIcommand\fR X leave X.fi Xwhere they result in the actions; \fBdelete\fR deletes the message; X\fBsave\fR saves a copy of the message in the specified foldername; X\fBsavecopy\fR does the same as save, but also puts a copy in your mailbox; X\fBforward\fR sends the message to the specified address; X\fBexecute\fR feeds the message to the specified command (or complex Xsequence of commands) as standard input; Xand \fBleave\fR leaves the message in your mailbox. X.sp XFoldernames can contain any of a number of macros, too, as we'll see in Xthe example ruleset below. The macros available for the string fields are; X.DS CB X.TS Xl l. X Macro Meaning X %d day of the month X %D day of the week (0-6) X %h hour of the day (0-23) X %m month of the year (0-11) X %r return address of message X %s subject of original message X %S ``Re: \fIsubject of original message\fR'' X %t current hour and minute in HH:MM format X %y year (last two digits) X.TE X.DE X.sp XThe rules file can also contain comments (any line starting with a `#') Xand blank lines. X.sp XThe file itself needs to reside in your home directory and be Xcalled \fI.filter-rules\fR. Here's an example:\fC X.nf X # $HOME/.filter-rules X # X # Filter rules for the Elm Filter program. Don't change without some X # serious thought. (remember - order counts) X # X # (for Dave Taylor) X # rule 1 X if (from contains "!uucp") then delete X # rule 2 X to "postmaster" ? save "/tmp/postmaster-mail.%d" X # rule 3 X if (to "culture" and lines > 20) ? save "/users/taylor/Mail/culture" X # rule 4 X subject = "filter test" ? forward "hpldat!test" X # rule 5 X if [ subject = "elm" ] savecopy "/users/taylor/Mail/elm-incoming" X # rule 6 X subject = "display-to-console" ? execute "cat - > /dev/console" X.fi X\fR(notice the loose syntax \(em there are lots of valid ways to specify a Xrule in the \fIfilter\fR program!!) X.sp XTo translate these into English; X.sp X.AL X.LI XAll messages from uucp should be summarily deleted. X.LI XAll mail to postmaster should be saved in a folder (file) called X/tmp/posmaster-mail.\fInumeric-day-of-the-week\fR X.LI XAll mail addressed to `culture' with at least 20 lines Xshould be automatically appended to the folder X/users/taylor/Mail/culture. X.LI XAll messages that contain the subject `filter test' should be forwarded to Xme, but via the address `hpldat!test' (to force a non-user forward) X.LI XAll messages with a subject that contains the word `elm' should be saved in Xthe folder ``/users/taylor/Mail/elm-incoming'' and also dropped into my Xmailbox. X.LI XAny message with the subject ``display-to-console'' will be immediately Xwritten to the console. X.LE X.sp XNotice that the \fIorder\fR of the rules is very important. If we, for Xexample, were to get a message from `uucp' that had the subject `filter test', Xthe \fIfilter\fR program would match rule 1 and delete the message. It Xwould never be forwarded to `hpldat!test'. It is for this reason that Xgreat care should be taken with the ordering of the rules. X.sp X.ps 12 X\fBChecking the rules out\fR X.ps 10 X.sp XThe \fIfilter\fR program has a convenient way of check out the rules you Xhave written. Simply invoke it with the \fB-r\fR (\fBr\fRules) flag; X.nf X % \fBfilter -r\fC X Rule 1: if (from = "!uucp") then X Delete X Rule 2: if (to = "postmaster") then X Save /tmp/postmaster-mail.<day-of-week> X Rule 3: if (to = "culture" and lines > 20) then X Save /users/taylor/Mail/culture X Rule 4: if (subject = "filter test") then X Forward hpldat!test X Rule 5: if (subject="elm") then X Copy and Save /users/taylor/Mail/elm-incoming X Rule 6: if (subject="display-to-console") then X Execute "cat - > /dev/console"\fR X.fi XThere are a few things to notice \(em first off, these are the parsed and Xrebuilt rules, so we can see that they are all in a Xconsistent format. Also, notice on the filename for rule 2 that the Xprogram has correctly expanded the ``%d'' macro to be the day of the Xweek. X.sp 2 XIt is \fBhighly\fR recommended that you always check your ruleset before Xactually letting the program use it! X.sp X.ps 12 X\fBActually Using the Program\fR X.ps 10 X.sp XNow the bad news. If you aren't running \fIsendmail\fR you cannot use Xthis program as currently written. Why? Because the \fIfilter\fR Xprogram expects to be put in your \fI.forward\fR file and that is something Xthat only \fIsendmail\fR looks at! X.sp XThe format for the entry in the \fI.forward\fR file (located in your Xhome directory) is simply; X.nf X "|/usr/local/bin/filter" X.fi XAlright, it isn't quite \fIthat\fR simple! Since \fIfilter\fR will be invoked Xby processes that don't know where you are logged in, you need to have some Xway to trap the error messages. For ease of use, it was decided to have all Xthe messages written to the file specified by `-o' (or \fIstderr\fR) Xwhich means that you have two main Xchoices for the actual entry. Either; X.nf X "|/usr/local/bin/filter -o /dev/console" X.fi Xwhich will log all errors on the system console (each error is prefixed with X``filter (\fIusername\fR)'' to distinguish it), or; X.nf X "|/usr/local/bin/filter -o /tmp/joe.filter_errors" X.fi XIf you want to have a copy saved to a file. A possible strategy would be Xto have the errors written to a file and to then have a few lines in Xyour \fI.login\fR script like:\fC X.nf X if ( -f .filter_errors) then X echo "\ \ " X echo "Filter program errors;" X cat /tmp/joe.filter_errors X echo "\ \ " X endif\fR X.fi XYou can also use the \fB-v\fR flag in combination with the above to have Xa more verbose log file saved by having Xyour \fI.forward\fR file; X.nf X "|/usr/local/bin/filter -vo /tmp/joe.filter_errors" X.fi XSuffice to say, you can get pretty tricky with all this!! X.sp X.ne 5 X.ps 12 X\fBSummarizing the Actions Taken\fR X.ps 10 X.sp XThe \fIFilter\fR program keeps a log of all actions performed, including Xwhat rules it matched against, in your home directory in a file Xcalled \fI.filter_log\fR. You can either directly operate on this file, Xor, much more recommended, you can one of the two summarize flags to Xthe program and let \fIit\fR do the work for you! X.sp XThe difference between the two is best demonstrated by example: X.nf X % \fBfilter -s\fC X Summary of Filter Activity X -------------------------- X A total of 418 messages were filtered: X The default rule of putting mail into your mailbox X applied 364 times (87%) X Rule #1: (delete message) X applied 1 time (0%) X Rule #2: (save in "/users/taylor/Filtered-Mail/netnews.12") X applied 8 times (2%) X Rule #3: (save in "/users/taylor/Filtered-Mail/postmaster.12") X applied 14 times (3%) X Rule #5: (save in "/users/taylor/Filtered-Mail/risks.12") X applied 3 times (1%) X Rule #6: (save in "/users/taylor/Filtered-Mail/rays.12") X applied 28 times (7%)\fR Xversus: X % \fBfilter -S\fC X \fIthe output as listed above, followed by:\fC X Explicit log of each action; X Mail from taylor about Filter Summary X PUT in mailbox: the default action X Mail from news@hplabsz.hpl.hp.com about Newsgroup comp.editors created X PUT in mailbox: the default action X Mail from root about Log file: cleanuplog X PUT in mailbox: the default action\fR X [etc etc] X.fi XTo actually use either of the summarizing options, there Xare two ways that are recommended; X.sp XThe preferred way is to have a line in either your \fIcrontab\fR X(ask your administrator for help with this) that invokes the \fIfilter\fR Xprogram as often as you desire with the \fB-s\fR flag. For example, I Xhave a summary mailed to me every morning at 8:00 am:\fC X.nf X 0 8 * * * "/usr/local/bin/filter -s | elm -s 'Filter Summary' taylor" X.fi X.sp X\fRAn alternative is to have your \fI.login\fR execute the command each time. X.sp 2 XNote that if you want to have your log files cleared out each time the Xsummary is generated you'll need to use the '-c' flag too. Also, Xif you want to keep a long list of actions performed you can do this Xby saving it as you display it. A way to do this would be, if you were to Xhave the invocation in your \fI.login\fR script, to use:\fC X.nf X echo "Filter Log;" X filter -c -s | tee -a PERM.filter.log\fR X.fi Xwhich would append a copy of all the output to the file `PERM.filter.log' Xand would avoid you having to read larger and larger summaries of Xwhat the program had done. X.sp X.ne 5 X.ps 12 X\fBFurther Testing of the Ruleset\fR X.ps 10 X.sp XWith the \fIreadmsg\fR command available, it is quite easy to test the Xrules you've written to see if they'll do what you desire. X.sp XFor example, we can use the \fB-n\fR flag to \fIfilter\fR, which means X`don't actually do this, just tell me what rule you matched, if any, and Xwhat action you would have performed' (you can see why a single letter Xflag is easier to type in!!), and feed it each message in our mailbox Xby using a command like; X.nf X % \fBset message=1\fR X % \fBset total_messages=`messages`\fR X % \fBwhile (1)\fR X > \fBif ($message > $total_messages) exit\fR X > \fBecho processing message $message\fR X > \fBreadmsg -h $message | filter -n\fR X > \fBecho " "\fR X > \fB@ messages++\fR X > \fBend\fR X.fi Xwhich will then hand each of the messages in your mailbox to the \fIfilter\fR Xprogram and display what action would have been taken with that message and Xwhy. X.sp XFor example, if we do this for a few interesting messages in my mailbox, Xwe'd end up with output like:\fC X.nf X Mail from taylor about filter test X FORWARDED to hpldat!taylor by rule; X subject="filter test" ? forward "hpldat!test" X Mail from bradley%hplkab@hplabsc about Re: AI-ED mailing address for HP X PUT in mailbox: the default action X Mail from taylor about display-to-console X EXECUTED "cat - > /dev/console"\fR X.fi X(sharp users will notice that this is exactly the same format as the longer Xsummary listing) X.sp X.ps 12 X\fBWhat Forwarded Messages Look Like\fR X.ps 10 X.sp XWhen a message is forwarded to another user by the \fIaction\fR being specified Xas ``forward \fIaddress\fR'', then the program can generate one of two styles Xof message. If the message is to you, then it'll simply add it to your mailbox Xin such a way as to ensure that the return address is that of the person who Xsent the message and so on. X.sp XIf not, then the message is enclosed in a message of the form:\fC X.nf X From taylor Thu Oct 2 15:07:04 1986 X Date: Thu, 2 Oct 86 15:06:58 pdt X Subject: "filter test" X From: The filter of taylor@hpldat <taylor> X To: hpldat!taylor X X-Filtered-By: filter, version 1.4 X -- Begin filtered message -- X X From taylor Thu Oct 2 15:06:41 1986 X Date: Thu, 2 Oct 86 15:06:33 pdt X From: Dave Taylor <taylor> X Subject: filter test X Just a simple test. X -- End of filtered message --\fR X.fi XThe subject of the actual message is the same as the subject of the Xmessage being forwarded, but in quotes. The `From:' field indicates Xhow the message was sent, and the `X-Filtered-By:' identifies what Xversion of filter is being used. X.sp X.ps 12 X\fBAreas to Improve\fR X.ps 10 X.sp XWhile the \fIfilter\fR program as presented herein is obviously a Xnice addition to the set of tools available for dealing with electronic Xmail, there are some key features that are missing and will be added in Xthe future based on demand. X.sp XAs I see it, the main things missing are; X.AL X.LI XThe ability to use regular expressions in the patterns. XThis would be a \fIvery\fR nice feature! X.LI XPerhaps more \fIactions\fR available (but what?) X.LI XCertainly the ability to filter based on any field or combination of Xfields. X.LE X.sp 2 X.ps 12 X\fBWarnings and Things to Look Out For\fR X.ps 10 X.sp XSince this is a pretty simple program, there are a few pitfalls, some Xof which have already been mentioned; X.sp X\fBOrder\fR counts in the rules. Beware! X.sp X\fBMatching\fR is pretty simple \(em make sure your patterns are sufficiently Xexclusive before having any destructive rules. X.sp 2 XFinally, as with the rest of the \fBElm\fR mail system, I welcome feedback Xand suggestion on how to improve this program!! SHAR_EOF echo "File doc/Filter.guid is complete" chmod 0444 doc/Filter.guid || echo "restore of doc/Filter.guid fails" echo "x - extracting doc/Form.guide (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/Form.guide && X.PH "" X\" @(#)$Id: Form.guide,v 2.1 88/09/15 22:10:01 syd Exp $ X\" X\" A guide to using the Elm Forms mode X\" format with: X\" 'troff -mm > Forms.format' X\" X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames X\" etc. should go to: X\" Syd Weinstein syd@dsinc.UUCP (dsinc!syd) X\" X\" (C) Copyright 1986, 1987 Dave Taylor X\" X\" $Log: Form.guide,v $ X\" Revision 2.1 88/09/15 22:10:01 syd X\" Initial 2.1 release X\" X\" 88/08/30 SSW X\" misc changes for release X\" X\" 88/08/27 nicmad!brown (Mike Brown) X\" Fixes for spacing and doc X\" X\" Revision 2.1 88/07/08 14:47:04 edc X\" Removed allreferences to the X.400 stuff (since it's based on a library X\" we can't distribute with the net version of Elm). Also include a X\" "Bug Reports To" section in the man pages, as well as a note in the X\" documentation title pages stating that "Elm is now in the public trust... X\" send bug reports to..." as per Dave's request. At this point this should X\" be the last of the documentation work before release to the test group. X\" X\" Revision 2.0 88/06/27 13:50:35 edc X\" This is the original 2.0 gamma release as leaked from HP. X\" X.SA 1 X.nr Hy 1 X.nr Pt 1 X.nr Pi 0 X.lg X.HM 1 1 X.rs X.ds HF 3 3 X.ds HP 12 12 10 10 10 X.PF "" X.de eb X.sp -1 X.nf X\h'-.5n'\L'|\\nau-1'\l'\\n(.lu+1n\(ul'\L'-|\\nau+1'\l'|0u-.5n\(ul' X.fi X.. X.sp |3.0i X.ce 99 X.ps 20 X\fBElm Forms Mode Guide\fR X.sp 7 X.ps 12 X\fIWhat Forms Mode is, how to use it to create Xcustom forms, how to reply to forms, and how to Xuse it for AT&T Mail messages\fR X.sp 5 XDave Taylor X.sp XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor X.sp 2 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp 4 X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.ps 10 X.SK X.sp 5 X.ps 14 X\fBA Guide to Forms Mode in Elm\fR X.PH "'Forms Mode Guide''version 2.1' X.PF "''Page \\\\nP''" X.nr P 1 X.sp X.ps 10 X(version 2.1) X.sp XDave Taylor X.sp XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor\s-1@\s+1hplabs.HP.COM or hplabs\s-1!\s+1taylor X.sp 2 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp X\*(DT X.ce 0 X.sp 2 XWhile there are a lot of mail systems that allow the transmission Xof text and primitive pictures, to send and reply to more complex Xforms is simply not possible. \fBElm\fR, however, took Xthe forms mode implemented as part of the AT&T Mail package and has Xexpanded on it to be a smoothly fit part of the overall mail system. X.sp XForms mode gives you the ability to send 'template' files to people Xand receive the filled-in replies. \*F Let's look at an example right X.FS X\fInote that this feature assumes that the person on the other end Xis also using the Elm mail system. X.FE Xoff. X.sp XSay we were going to use computer mail as a way to file defects with Xsoftware. There is a certain amount of information we want to be able Xto collect when each report is made, and if it is in a specific format Xwe can use programs to file the defects upon receipt. X.sp XThe form we'll try to emulate starts out looking like; X.DS CB X.mk a X.mk a X.sp X.tl ''Defect Reporting Form'' X.sp X.tl 'Program:_________________________' Version:___________________'' X.tl 'Operating System:________________' Version:___________________'' X.sp X.tl 'Defect Type:_______________________'' X.sp X.tl 'Date Found:_____________________''By Whom:_____________________ ' X.tl 'Date Reported:__________________''Phone:_______________________ ' X.sp X.tl 'Description:____________________________________________________________________' X.tl '______________________________________________________________________________' X.tl '______________________________________________________________________________' X.sp X.eb X.DE X.sp XThis form can actually be created almost exactly as listed above in Xthe \fBElm\fR mail system by using your standard editor and can then Xbe mailed about as needed. X.sp XLet's say that we want a bit more information, however, especially with Xfields like ``Defect Type'', we want to list all the recommended answers. XTo create the actual form, we need merely to replace the underlines in Xthe above form with spaces. The multi-line comments can simply be Xindicated by a `:' by itself on a line; X.DS CB X.mk a X.sp X.tl ''Defect Reporting Form'' X.sp X.tl 'Program: 'Version: '' X.tl 'Operating System: 'Version: '' X.sp X.tl '(Valid Defect Types are: user-error, doc-error, fatal, other)' X.tl 'Defect Type: '' X.sp X.tl 'Date Found: ''By Whom: ' X.tl 'Date Reported: ''Phone: ' X.sp X.tl 'Description' X.tl ':' X.sp XThank you for filling in this form. X.sp 2 X.eb X.DE X.sp XAs we can see, it is quite simple to create forms!! X.sp 2 XNow that we have an idea what we're talking about, let's actually officially Xdefine the system... X.sp 2 X.ne 7 X.ps 12 X\fBForms Mode Specification\fR X.ps 10 X.sp X[Note that this is all taken from the document \fIStandard for Exchanging XForms on AT&T Mail\fR, Version 1.9 of 6/7/86, from AT&T] X.sp XThe forms mode is really quite simple. Simple enough that it is amazing Xthat it hadn't been implemented before AT&T Mail came along!! X.sp XIn a nutshell, each field is delimited by a `:' followed by a number of Xblank spaces or tabs that represent the valid size for that field. That Xis, if we have a line in the form like; X.nf X ``Phone (area-code): Number: '' X.fi XThe area-code field will be limited to three characters and the number to nine. X(this is kind of hard to see with the proportionally spaced formatted copy, Xalas). XThe only exception to the rule is that a `:' by itself on a line represents Xa field that is as large as the user entering the data desires. X.sp 2 XThe actual form that is transmitted, in AT&T Mail parlance, is a ``SIMPLE'' Xforms handler message (as opposed to the ``ADVANCED'' handler). This means Xthat it contains three sections; X.ne 8 X.nf X \fIThe Message Header\fC X [OPTIONS-SECTION] X *** X [FORMS-IMAGE] X *** X [RULES-SECTION]\fR X.fi X\fBElm\fR generates form messages with the ``options'' section filled out, Xbut ignores it when receiving mail. The filled out section is:\fC X.nf X WIDTH=80 X TYPE=SIMPLE X OUTPUT=TEXT\fR X.fi XThe FORMS-IMAGE section is that described above. The RULES-SECTION can Xcontain explicit rules about the possible values of each field, but Xthis is currently ignored by \fBElm\fR, being a ``SIMPLE'' forms mode Xmail system. X.sp XForms also have the header ``Content-Type: mailform'' to indicate to the Xmail system (either \fBElm\fR or AT&T Mail) that a form is being sent. X.sp X\fBElm\fR further indicates that a form has been received by having an X``F'' as the status character in the header display section (instead of X``N'' for new, etc). X.sp 2 X.ne 5 X.ps 12 X\fBComposing and Sending a Form\fR X.ps 10 X.sp XThe first step to enable sending forms is to change the setting of Xthe variable \fIforms\fR in your \fI.elmrc\fR file to ``ON''. E.g.: X.nf X forms = ON X.fi XThe next step is to send the message to someone using the `m' (\fImail\fR) Xcommand. This then will drop you into an editor. Type in the form as Xindicated above, with appropriate colons and comments, and end the entry Xby leaving the editor. X.sp XThe prompt is now; X.nf X.tl ''Choose: E)dit msg, edit H)eaders, M)ake form, S)end or F)orget : @'' X.fi Xso we choose `m' \(em \fIMake form\fR. The program then will either Xrewrite the prompt without the M)ake form option, indicating that Xthe form has been accepted, or will indicate the problem and give you Xa chance to correct it. X.sp XOnce it has been accepted, simple use the `s' \(em \fIsend message\fR - Xcommand and it's off! X.sp X\fINote that you cannot reply to a message with a Form.\fR X.sp 2 X.ne 6 X.ps 12 X\fBReplying to a Form\fR X.ps 10 X.sp XLet's reply to the form message we generated now. The header page of the X\fBElm\fR mail system will indicate that the message is a form by having Xan `F' next to it. So we use `r' to reply and the screen is immediately Xcleared and we're prompted, field by field, for the data requested. XEach field has underscores in the input area to indicate the size field that Xis expected. X.sp XAfter answering all the questions we'll have a screen that looks like; X.DS CB X.mk a X.sp X.tl ''Defect Reporting Form'' X.sp X Program: \fBThe Elm Mail System\fR____________ X Version: \fB1.5\fR_____________________ X Operating System: \fBHP-UX\fR_________________ X Version: \fB5.141 C\fR__________________ X.sp X (Valid Defect Types are: user-error, doc-error, fatal, other) X Defect Type: \fBfatal\fR____________________________________________________ X.sp X Date Found: \fB10/9/86\fR_____________________ X By Whom: \fBDave Taylor\fR_______________ X Date Reported: \fB10/9/86\fR__________________ X Phone: \fB(415) 857-6887\fR______________ X.sp X Description X (Enter as many lines as needed, ending with a `.' by itself on a line) X \fBWhen running it on a CPM system I cannot compile successfully.\fR X \fB.\fR X Thank you for filling in this form. X.tl ''Choose: E)dit form, edit H)eaders, S)end or F)orget : @'' X.sp X.eb X.DE X.sp XQuite simple. Notice, however, that the order of prompting is left to Xright on each line, so the fields that on the form are placed in what Xseems like a logical place, ``By Whom:'' and ``Phone:'' turn out to be Xconfusing when filling in the actual form since it isn't clear what X``Phone:'' is being asked for because of the intervention of the X``Date Reported:'' field. X.sp XThe message that will actually be sent out from this will have the Xfields in a more acceptable format; X.DS X.mk a X.sp X WIDTH=80 X TYPE=SIMPLE X OUTPUT=TEXT X *** X.tl ''Defect Reporting Form'' X.sp X.tl ' Program: The Elm Mail System 'Version: 1.5 '' X.tl ' Operating System: HP-UX ' Version: 5.141 C '' X.sp X.tl ' (Valid Defect Types are: user-error, doc-error, fatal, other)' X.tl ' Defect Type: fatal'' X.sp X.tl ' Date Found: 10/9/86 ''By Whom: Dave Taylor ' X.tl ' Date Reported: 10/9/86 ''Phone: (415) 857-6887 ' X.sp X.tl ' Description' X.sp X When running it on a CPM system I cannot compile successfully. X.sp X.tl ' Thank you for filling in this form.' X *** X.sp X.eb X.DE X.ne 5 X.sp X.ps 12 X\fBComments on Forms Mode\fR X.ps 10 X.sp XAs was said at the beginning, this way of sending about forms could Xprove to be very helpful and useful in a variety of contexts. On the Xother hand, until a more sophisticated forms language is used for the Xforms, this should be sufficient to embody the power of the idea. X.sp XI welcome any comments and thoughts on this system and also welcome Xpossible enhancements. X.sp XI also gratefully thank Dale DeJager of AT&T Information Systems Xfor sending me more Xinformation on AT&T Mail than I could possibly digest in any finite Xamount of time. SHAR_EOF chmod 0444 doc/Form.guide || echo "restore of doc/Form.guide fails" echo "x - extracting doc/Ref.guide (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/Ref.guide && X.PH "" X\" @(#)$Id: Ref.guide,v 2.1 88/09/15 22:10:05 syd Exp $ X\" X\" Reference guide to the Elm mail system. X\" format with X\" troff -mm Ref.guide > Ref.format X\" X\" Elm is now in the public trust. Bug reports, comments, suggestions, flames X\" etc. should go to: X\" Syd Weinstein syd@dsinc.UUCP (dsinc!syd) X\" X\" (C) Copyright 1986, 1987 Dave Taylor X\" X\" $Log: Ref.guide,v $ X\" Revision 2.1 88/09/15 22:10:05 syd X\" Initial 2.1 release X\" X\" 88/08/30 SSW X\" misc changes for release X\" X\" 88/08/27 nicmad!brown (Mike Brown) X\" Fixes for spacing and doc X\" X\" Revision 2.1 88/07/08 14:47:06 edc X\" Removed allreferences to the X.400 stuff (since it's based on a library X\" we can't distribute with the net version of Elm). Also include a X\" "Bug Reports To" section in the man pages, as well as a note in the X\" documentation title pages stating that "Elm is now in the public trust... X\" send bug reports to..." as per Dave's request. At this point this should X\" be the last of the documentation work before release to the test group. X\" X\" Revision 2.0 88/06/27 13:50:37 edc X\" This is the original 2.0 gamma release as leaked from HP. X\" X.SA 1 X.nr Hy 1 X.nr Pt 1 X.nr Pi 0 X.lg X.rs X.ds HF 3 3 X.ds HP 12 12 10 10 10 X.PF "" X.HM 1 1 X.sp |3.0i X.ce 99 X.ps 20 X\fBThe Elm Reference Guide\fR X.sp 5 X.ps 12 X\fIA comprehensive list of all commands, Xoptions and such to the \fBElm\fP mail system\fR X.sp 5 XDave Taylor X.sp XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor@hplabs.HP.COM or hplabs!taylor X.sp 4 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp 4 X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.ce 0 X.SK X.ce 99 X.ps 14 X\fBThe Elm Reference Guide\fR X.ps 10 X.sp X(version 2.1) X.sp 2 XDave Taylor XHewlett-Packard Laboratories X1501 Page Mill Road XPalo Alto CA X94304 X.sp Xemail: taylor@hplabs.HP.COM or hplabs!taylor X.sp 2 X>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<< X.sp XSyd Weinstein XDatacomp Systems, Inc. X3837 Byron Road XHuntingdon Valley, PA 19006-2320 X.sp Xemail: syd\s-1@\s+1dsinc.UUCP or dsinc\s-1!\s+1syd X.sp 2 X\*(DT X.ce 0 X.nr P 1 X.PH "'The Elm Reference Guide''Version 2.1'" X.PF "''Page \\\\nP''" X.sp 3 X.H 1 "Introduction" X.P 1 XThere are many parts to a complex software system and \fBThe Elm XMail System\fR Xis no different. This document describes fully all the options Xavailable in the mailer, including the starting options, Xthe commands (in considerably more detail than Xin \fIThe Elm Users Guide\fR) and Xthe \fI.elm/elmrc\fR file. X.P 1 XTo be more explicit, this document covers; Xa discussion of Xthe \fI.elm/elmrc\fR file, Xstarting options of \fIelm\fR, Xoutgoing mail processing, Xresponses of various commands, Xthe mail archive file, Xthe Alias system, Xsystem aliases etc, Xmore on the \fBElm\fR utilities, Xand a section for expert mail users. X.P 1 XWithout any further ado, then, let's get this show on the road!! X.sp 2 X.H 1 "The .elm/elmrc File" X.P XThe mailer, like lots of other software on the XUnix\v'-.3'\s5TM\s10\v'.3' system, has the ability to automatically read Xin a configuration file at each invocation. The file must be Xcalled \fIelmrc\fR and reside in the \fI.elm\fR directory located Xin your home directory, Xand can have any of the following entries, Xin any order; X.sp X.ps 10 X.ne 8 X\fBString Variables\fR X.ps 10 X.VL 13 0 X.LI "alternatives" XThis is a list of other machine/username combinations Xthat you receive mail from (forwarded). This is used Xwhen the \fIgroup reply\fR feature is invoked to ensure that Xyou don't send yourself a copy of the outbound message. X(no default) X.LI "calendar" XThis is used in conjunction with the ``<'' \fIscan message for Xcalendar entries\fR command. The default place to put Xcalendar entries if found is \fI$HOME/calendar\fR. This Xvariable can be set to specify something else.. X.LI "editor" XThe editor to use when typing in new mail. If you select X``none'' or ``builtin'' you'll get a Berkeley Mail style Xinterface for all mail that doesn't already have text Xin the buffer (e.g. a reply, mail with a ``signature'', etc). X(default is to use the value of the $EDITOR in your Xcurrent environment) X.LI "fullname" XThis is the name the mailer will use when sending mail Xfrom you. It is highly recommended that you use your Xfull name and nothing strange or unusual, as that can Xappear extremely rude to people receiving your mail. X(Default is to use the ``gecos'' field from the \fI/etc/passwd\fR file) X.LI "mailbox" XThis is where to put incoming mail after you've read it. XWhen you answer \fIno\fR (`n') to the ``keep messages in Xincoming mailbox?'' prompt, this Xis where the messages go. X(the default is a file called \fImbox\fR in your home directory) X.LI "maildir" XThis is the default mail directory, and is used to expand filenames Xin the mailer when specified using the `=' metacharacter\*F. That X.FS XNote that `%' and `+' are synonymous with `=' throughout \fIelm\fR X.FE Xis, if you save to file \fI=/stuff\fR then the `=' will be expanded Xto the current value of maildir. X(no default) X.LI "pager" XThis defines the program to be used to display each message. The Xdefault is ``builtin'', and can be changed while within the \fIelm\fR Xprogram by selecting the appropriate entry in the O)ptions Menu. X.LI "prefix" XWhen you \fIreply\fR to a message or \fIforward\fR a message to another person, Xyou can optionally include the original message. Defining the Xprefix value here allows you to indicate what the prefix of Xeach included line should be. (default is ``>\ '' and is Xstandard in the Unix community) X.LI "print" XThis indicates how to print out a message. There are two Xpossible formats for this string, either a command that Xcan have a filename affixed to (as a suffix) and then Xsent to the system for execution, or a string that Xcontains the meta-sequence `%s' which will be replaced Xby the name of the file and then also sent to the Xshell. Examples of each are; X.nf X.ft CW X print = print -formfeed X print = pr %s | lpr X.ft R X.fi X(no default) X.LI "savemail" XThis is where outgoing mail will have a copy silently (and Xquickly) saved. This will only be used if the \fIcopy\fR flag Xis turned on. Also note that if the \fIsavename\fR feature Xis enabled then this filename may be ignored since the program Xfirst looks for a mailbox that has the same name as the login Xof the person you're sending to, using that instead if Xfound. X(default is to have this option disabled) X.LI "shell" XThis defines the shell to use when doing ``!'' escapes and Xsuch. Note that the program also reads the $SHELL variable Xout of the current environment, but that defining this Xin the \fI.elm/elmrc\fR file will override the environment definition. X.LI "signature" XThis file, if defined, will be automatically appended to all Xoutbound mail before the editor is invoked. Furthermore, Xif you'd like a different ``.signature'' file for \fIlocal\fR Xmail and \fIremote\fR mail (remote being via other hosts), Xyou can alternatively define two variables, \fIlocalsignature\fR Xand \fIremotesignature\fR, to have the same functionality. X.LI "sortby" XWhen reading mailboxes, Xeither incoming or saved, you can have them sorted by any Xnumber of different ways. This can be changed without leaving Xthe \fIelm\fR system by changing the \fIoptions mail-sorted-by\fR Xfield, but it can also be predefined to any of the following; X.sp X.VL 15 3 X.LI "from" XThis will sort according to whom each message is \fIfrom\fR. X.LI "sent" XThis will sort \fIleast recently sent\fR to X\fImost recently sent\fR. X.LI "received" XThis will sort \fIleast recently received\fR to X\fImost recently received\fR. X.LI "subject" XThis will sort according to the \fIsubject\fR of each message. X.LI "lines" XThis will sort \fIshortest\fR to \fIlongest\fR by message. X.LI "status" XThis will sort by priority, action, new, tagged, then deleted Xorder. X.LE X.sp XEach of these fields can also optionally be prepended with the Xsequence ``reverse-'' to reverse the order of the sort. The Xsorting method in the sample \fI.elm/elmrc\fR, for example, Xis \fIreverse-sent\fR, to have the new Xmail always be listed first in the headers (note that this doesn't Ximply anything about the order of the message in the \fImailbox\fR Xitself) X.LI "weedout" XWhen specifying this option, you can then list headers that Xyou \fIdon't\fR want to see when you are reading mail. XThis list can continue for as many lines as desired, as Xlong as the continued lines all have leading indentation. X(default is ``Received:'' and others...) X.LE X.sp X.ps 10 X.ne 8 X\fBNumeric Variables\fR X.ps 10 X.VL 13 0 X.LI "bounceback" XThis is a hop count threshold value and allows you to Xset up the mailer so that when you send mail more than X\fIn\fR machines away, it'll automatically include a X``Cc:'' to you through the remote machine. In practice Xthis should be very rarely used. (Note: this refuses to Xbounce mail off an Internet address. The default is to Xhave it set to zero, which disables the function) X.LI "timeout" XOn more advanced systems, it's nice to start up the Xmailer in a window and let it sit in background Xunless new mail arrives (see \fIwnewmail\fR for Xanother window based program) at which point Xit can be brought up to the forefront of the system Xand read. In this case, it would be quite convenient Xto have the mailer internally resynchronize every X``delta'' seconds. That's exactly what this particular Xoption allows. X.sp XThis is also useful for normal terminals, for example you can Xleave \fIelm\fR running at night (I usually do) and when you Xcome in in the morning it'll be all ready to read your mail! X.sp X(The default is a 300 second (5 minute) timeout period). X.LI "userlevel" XThis is what the program uses to determine the relative level of Xsophistication of the user \(em the values are 0 for a new user (the Xdefault), 1 for someone familiar with \fIelm\fR Xuser, and 2 and above for experts. X.LE X.sp X.ps 10 X.ne 8 X\fBBoolean Variables\fR X.ps 10 X.VL 12 0 X.LI "alwaysdelete" XWhen set, this changes the default answer Xof the prompt ``Delete messages?'' to the indicated value. (default is Xto have the answer be \fINo\fR (alwaysdelete = OFF)) X.LI "alwaysleave" XThis changes the default answer on the ``keep mail in incoming mailbox?'' Xprompt to the value indicated (default Xis to have the default answer be \fINo\fR (that is, alwaysleave = OFF) X.LI "arrow" XSometimes your are forced to use a slow, or ``dumb'' terminal. In this Xcase, you can force the current message pointer to be the ``->'' Xsequence rather than the inverse bar. (Note that this is Xidentical in function to the `-a' starting option) (default is OFF Xunless you're on an IBM 3270) (I'll bet you think I'm joking...) X.LI "ask" X(or ``question''). This allows you to tell the \fIelm\fR system that Xyou'd rather not be asked ``Delete Mail?'' and such each time you Xleave the program, and instead it should just use the values of X``alwaysdelete'' and ``alwaysleave'' without prompting. X(default is ON, e.g. to ask the questions) X.LI "askcc" XIf turned off, this will allow you to send mail without being Xpresented the ``Copies-To:'' prompt for each message. This Xstill allows you to explicitly include addresses in the ``cc'' Xlist via either ``~c'' in the builtin editor, or via using the Xscreen-oriented header editor. X(default is ON, e.g. to ask about copies) X.LI "autocopy" XThis is a boolean flag, and if set will automatically copy Xthe text of each message being replied to into the edit Xbuffer. (default is OFF) X.LI "copy" XThis, in combination with the \fIsavemail\fR filename, will Xallow you to have silent copies of all outgoing mail Xmade on the outbound step. X(default is OFF) X.LI "keep" XThe mail system has a habit of deleting mailboxes when you've Xremoved everything from them. With this option turned on, it will Xinstead preserve them as zero-byte files. (default is OFF) X.LI "keypad" XIf on, this tells \fIelm\fR that you have an HP terminal and enables Xthe <NEXT>, <PREV>, <HOME> and <SHIFT-HOME> keys. (default is OFF) X.LI "menus" XIf turned off, this will inhibit the Menu display on all of the Xscreen displays within the \fIelm\fR program. (default is ON) X.LI "movepage" XIf this is enabled then commands that move through the Xmailbox by pages (the `+' and `-' keys) Xwill also move the current message pointer to the Xtop of that page of messages. If this is turned off Xthen moving through the pages doesn't alter the Xcurrent message pointer location. X(default is OFF) X.LI "noheader" XThis boolean flag tells the mailer not to include the Xheaders of messages when copying a message into a file Xbuffer for replying to or forwarding. X(default is ON) X.LI "pointnew" XIf this is turned on, the mailer will automatically Xpointing to the first new message in your mailbox when started, instead Xof at message #1. This is only used for the incoming mailbox since Xother mailboxes are assumed not to have `new' and `old' mail. X(default is ON) X.LI "resolve" XThis is a boolean flag that defines the behaviour of the Xprogram for such actions as deletion, saving a message Xand so on. Specifically, with this option enabled, as Xsoon as mail is `dealt with' the program moves you to the Xnext message in the mailbox, with deletion, undeletion, Xsaving a message and forwarding a message all being treated as Xdealing with email in this manner. X(default is ON) X.LI "savename" XOne of the problems with electronic mail systems is that one Xtends to get very large, one-dimensional (flat) files that Xcontain lots of completely unrelated mail. If this option Xis turned on, \fIelm\fR will use a more intelligent Xalgorithm \(em on incoming mail, when you \fIsave\fR it, the default Xmailbox to save to (changeable by pressing anything other than X<return> of course) is a file that is the \fIlogin name\fR of the Xperson who sent you the message. Similarly, when sending mail out, Xinstead of just blindly saving it to the \fIsavemail\fR file, \fIelm\fR Xwill first try to save it to a file that is the login name of the Xperson who is to receive the mail\*F. X.FS XWhen sending to a group, it's saved to the first person in the Xlist only. One day we'll have \fIpointers\fR to messages, then... X.FE XIf the file doesn't already exist on outbound mail, then it will Xsave the mail in the \fIsavemail\fR file. X.P 0 XIn practice, this means that important people that you communicate Xwith (those that you tend to save mail from) have files that are Xactually \fIa recorded log of the discussion in both directions\fR Xand those others (random mailings) are all stuffed in the \fImailsave\fR Xfile for easy perusal and removal. (The default is ON) X.LI "softkeys" XIf on, this tells \fIelm\fR that you have an HP terminal with the XHP 2622 function key protocol and that you'd like to have them available Xwhile in the program. (default is OFF) X.LI "titles" XThis flag allows you to have the first line of a message Xtitled with: X.sp X.ft CW X.ps 9 X.nf X.tl ' Message \fIN/M\fP from \fIusername\fP''\fIdate\fP at \fItime\fR ' X.fi X.ps 10 X.ft R X.sp Xwhere all the information has been previously extracted Xfrom the message. XThis is especially useful if you weed out all the headers of each Xmessage with a large `weedout' list... X(default is ON) X.LI "warnings" XThe mailer likes to warn you when you send mail to a machine that cannot Xbe directly accessed. In some situations, however, the system is set up so Xthat mail is automatically forwarded to another machine that might then Xhave better connections. Setting this flag will allow you to effectively Xshut off all the warning messages. (default is ON) X.LI "weed" XThis is a boolean flag that, in combination with the X``weedout'' list, allows you to custom define the set of Xheaders you would like to not have displayed while reading Xmessages. X(default is ON) X.LE X.sp XOne more thing: the format for each of the lines is; X.nf X.ft CW X variable = value\fR X.fi Xand for boolean variables, \fIvalue\fR can be `ON' or `OFF' only. X.sp XFor a better idea of how this all works, here's Xmy \fI.elm/elmrc\fR file. XWhile looking through it, notice that you can have lots of comments Xand blank lines for readability and that you can also use `shell Xvariables' and the `~' metacharacter for your home directory, Xand they are expanded accordingly when read in by the mailer. X(Note that this was automatically saved by the \fIelm\fR program \(em versions X1.3b and above have the ability to Xcreate \fI.elm/elmrc\fR files on the Xfly from the O)ptions screen \(em it's quite useful) X.ft CW X.nf X # X # .elm/elmrc - options file for the Elm mail system X # X # Saved automatically by Elm 2.0 for Dave Taylor X # X # where to save calendar entries X calendar = ~/.Agenda X # what editor to use (none = simulate Berkeley Mail) X editor = none X # The full user name for outbound mail X fullname = Dave Taylor X # where to save messages to, default file X mailbox = $HOME/Mail/mailbox X # where to save my mail to, default directory X maildir = /users/taylor/Mail X # scroll through messages rather than paging... X pager = builtin X # prefix sequence for including message text in other messages... X prefix = >_ X # how to print a message ('%s' is the filename) X print = lpr -Plw2 %s X # where to save mail if not specified somewhere else X savemail = /users/taylor/Mail/mail.sent X # The shell to use for shell escapes X shell = /bin/csh X # and how to sort mailboxes, by default X sortby = Reverse-Received X # should we always delete messages we've marked for deletion (change the X # default answer to yes) X alwaysdelete = ON X # should we always leave messages as pending (change the default answer to yes) X alwaysleave = ON X # should we use the "->" rather than the inverse video bar? X arrow = OFF X # automatically copy message being replied to into buffer? X autocopy = OFF X # threshold for bouncing copies of remote uucp messages... X # zero = disable function. X bounceback = 0 X # save a copy of all outbound messages? X copy = ON X # we might mail out AT&T Mail Forms, too X forms = OFF X # we're running on an HP terminal... X keypad = OFF X # should we display the three-line menus? X menu = ON X # when using the page commands (+ - <NEXT> <PREV>) change the current X # message pointer... X movepage = ON X # let's just show the names, though, when expanding aliases... X names = ON X # when messages are copied into the outbound buffer, don't include headers X noheader = ON X # start up by pointing to the first new message received, if possible X pointnew = ON X # emulate the Berkeley Mail message increment mode (only increment after X # something has been 'done' to a message, either saved or deleted) X resolve = ON X # save messages, incoming and outbound, by login name of sender/recipient X savename = ON X # we're running on an HP terminal and want function keys available too! X softkeys = OFF X # Set the main prompt timeout for resynching... X timeout = 60 X # display message title when displaying pages of message X titles = ON X # are we good at it? 0=beginner, 1=intermediate, 2+ = expert! X userlevel = 2 X # don't bother telling us what machines we can't get to... X warnings = OFF X # enable the weedout list to be read... X weed = ON X # what headers I DON'T want to see, ever. X weedout = "Path:" "Via:" "Sent:" "Date" "Status:" "Original" "Phase" X "Subject:" "Fruit" "Sun" "Lat" "Buzzword" "Return" "Posted" X "Telephone" "Postal-Address" "Origin" "X-Sent-By-Nmail-V" "Resent" X "X-Location" "Source" "Mood" "Neuron" "Libido" "To:" "X-Mailer:" X "Full-Name:" "X-HPMAIL" "Cc:" "cc:" "Mmdf" "Network-" "Really-" X "Sender:" "Post" "Message-" "Relay-" "Article-" "Lines:" X "Approved:" "Xref:" "Organization:" X # alternative addresses that I could receive mail from (usually a SHAR_EOF echo "End of part 3" echo "File doc/Ref.guide is continued in part 4" echo "4" > s2_seq_.tmp exit 0 -- ===================================================================== Sydney S. Weinstein, CDP, CCP Elm Coordinator Datacomp Systems, Inc. Voice: (215) 947-9900 {allegra,bellcore,bpa,vu-vlsi}!dsinc!syd FAX: (215) 938-0235