home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / mail / setup / unix < prev    next >
Encoding:
Text File  |  1994-04-10  |  77.3 KB  |  1,666 lines

  1. Newsgroups: news.admin.misc,comp.mail.misc,news.answers,comp.answers
  2. Path: bloom-beacon.mit.edu!grapevine.lcs.mit.edu!olivea!sgigate.sgi.com!sgiblab!swrinde!cs.utexas.edu!utnut!torn!uunet.ca!uunet.ca!ecicrl!clewis
  3. From: clewis@ferret.ocunix.on.ca (Chris Lewis)
  4. Subject: UNIX Email Software Survey FAQ
  5. Summary: How to set up Email on UNIX systems.
  6. Message-ID: <mailfaq_765897604@ferret.ocunix.on.ca>
  7. Supersedes: <mailfaq_764086541@ferret.ocunix.on.ca>
  8. Approved: news-answers-request@mit.edu
  9. Date: Sat, 9 Apr 1994 13:20:10 GMT
  10. Expires: Sat, 14 May 1994 13:20:04 GMT
  11. Reply-To: mailfaq@ferret.ocunix.on.ca (Mail FAQ commentary reception)
  12. Organization: Elegant Communications Inc., Ottawa, Canada
  13. Keywords: mail software survey UNIX FAQ
  14. Followup-To: poster
  15. Lines: 1648
  16. Xref: bloom-beacon.mit.edu news.admin.misc:9326 comp.mail.misc:7116 news.answers:17856 comp.answers:4835
  17.  
  18. Archive-name: mail/setup/unix
  19. Last-modified: Sat Mar 19 23:14:03 EST 1994
  20.  
  21.         UNIX EMail Software - a Survey
  22.                Chris Lewis
  23.         clewis@ferret.ocunix.on.ca
  24.         [and a host of others - thanks]
  25.  
  26.         Copyright 1991, 1992, 1993, Chris Lewis
  27.  
  28.     Redistribution for profit or altered content/format
  29.     prohibited without permission of the author.  Other
  30.     redistribution must contain this copyright notice
  31.     and attribution.
  32.  
  33. Changes are marked with a preceding "|".  You can skip to them
  34. by typing g^| in (most) newsreaders.
  35.  
  36. Changes this issue: 
  37.     - MMDF software availability.
  38.     - PP commentary (based on personal experience)
  39.     - Sendmail commentary (much to my regret, I'm becoming a
  40.       sendmail guru)
  41.     - slight changes to suggested configurations.
  42.     - additional commentary on how to get UUCP-transport mail to
  43.       coexist with the Internet.
  44.     - mailagent description updated.
  45.     - See extensions to MH section, and new XMH and EXMH user agents.
  46.  
  47. Note: this FAQ has been formatted as a digest.  Many newsreaders
  48. can skip to each of the major subsections by pressing ^G.
  49.  
  50. Please direct comments or questions to mailfaq@ferret.ocunix.on.ca -
  51. note Reply-to: line - automatic if you reply to this article.
  52.  
  53. ------------------------------
  54. Subject: Introduction
  55.  
  56. Configuring electronic mail systems can be quite a complicated
  57. subject.  Often far more complicated than, say, setting up
  58. a USENET news feed.  This is because, unlike news, email is
  59. expected to traverse multiple types of networks using their own
  60. protocol, whereas, USENET news tends to be a single protocol
  61. supported by hook or by crook on different networks.
  62.  
  63. This document is intended for system administrators who need to
  64. know how to set up their UNIX systems for email communication with
  65. the outside world.  It is intended for the email-naive SA
  66. who gets more than a little confused by the acronyms, RFC's and
  67. plethora of software.
  68.  
  69. This is intended to be a general survey of the software available,
  70. so I won't spend too much time on some of the details.  Most of
  71. the available software comes with documentation that can
  72. explain things much better than I can.
  73.  
  74. Additional detail can be obtained from several sources, such as:
  75.  
  76.     Quarterman, John S.: "The Matrix -- Computer Networks
  77.     and Conferencing Systems Worldwide", Digital Press 1990,
  78.     (Order No.  EY-C176E-DP), ISBN 1-55558-033-5.
  79.  
  80.     Adams, Rick and Frey, Donnalyn: !%@:: A Directory of Mail
  81.     Addressing and Networks, 3rd Ed., O'Reilly & Associates 1993,
  82.     Provides a good reference for people seeking information
  83.     on how to access the various email networks.
  84.     ISBN 1-56592-031-7.
  85.  
  86.     Kehoe, Brendan P.: Zen and the Art of the Internet: A
  87.     Beginner's Guide, Second Edition, Prentice Hall 1992,
  88.     ISBN 0-13-010778-6.  Edition 1 is available via FTP on
  89.     cs.widener.edu in the tar file zen-1.0.tar.Z. [I think]
  90.  
  91.     Krol, Ed: The Whole Internet: User's Guide & Catalog.
  92.     First edition, O'Reilly & Associates Sept. 1992.
  93.     ISBN: 1-56592-025-2.  Very good introduction to
  94.     the Internet, history, facilities, uses, services,
  95.     etc.  I learned a lot.
  96.     
  97.     Albitz, Paul & Liu, Cricket: DNS and BIND, First edition,
  98.     O'Reilly & Associates, October 1992.  ISBN: 0-56592-010-4.
  99.     Describes in great detail everything from what a domain
  100.     is, to how to install and configure BIND.  A *MUST* for
  101.     people setting up large networks, or connecting
  102.     machines to the Internet.  It has become mandatory reading
  103.     for network administrators in a large corporation for
  104.     good reason.
  105.  
  106.     Costales, Bryan and Allman, Eric and Rickert, Neil: Sendmail.
  107.     O'Reilly & Associates, Nov (?) 1993. ISBN 1-56592-056-2
  108.     (ISBN from galley proof, which I've had a preview of).
  109.     An absolute necessity for anyone diving into the configuration
  110.     of sendmail.  The material is presented in a very clear
  111.     form, and is quite exhaustive in its coverage.  Perhaps a bit
  112.     too wordy and overlong, but that's a more than welcome contrast
  113.     to previous documentation (or lack thereof) on sendmail.
  114.  
  115. Further, this is primarily oriented towards UNIX email systems.
  116. This is unfortunate, because it would be nice to have a general
  117. document covering email in all of its forms.  However, each
  118. operating system tends to have radically different email mechanisms,
  119. so it would be difficult to do justice to any other environment.
  120. It seems more useful to cover one environment well here, and have
  121. companion documents for other environments.  Speaking of which,
  122. why hasn't anybody else stepped in to do FAQs on other environments?
  123. Like DOS, Mac etc.
  124.  
  125. And finally, this document is not intended to be pedantically
  126. correct.  Knowledgeable readers will know that I'm glossing
  127. over a lot of detail, and absolute precision has been balanced
  128. against readability and effectiveness in helping people get
  129. going.
  130.  
  131. ------------------------------
  132. Subject: Layout
  133.  
  134. This FAQ is laid out in the following sections:
  135.  
  136.     + An overview of how mail systems go together.
  137.  
  138.     + A glossary of the important terms to know.
  139.  
  140.     + A list of general do's and don'ts of mail systems.
  141.  
  142.     + Configuration Issues
  143.  
  144.     + Several suggested mail configurations. 
  145.  
  146.     + General overviews of specific software.
  147.  
  148. ------------------------------
  149. Subject: Electronic mail - A General Overview of Structure
  150.  
  151. Electronic mail generally consists of three basic pieces:
  152.  
  153.     1) The link level transport - which could be
  154.        UUCP, TCP/IP, or a host of others.  We'll call
  155.        this the "transport medium" (TM)
  156.  
  157.     2) the "Mail Transport Agent" (MTA) which is responsible for
  158.        transporting mail from source to destination, possibly
  159.        transforming protocols, addresses, and routing the mail.
  160.  
  161.        The MTA often has several components:
  162.         - Routing mechanisms
  163.         - Local delivery agent (LDA)
  164.         - Remote delivery agent
  165.        Many MTA's have all of these components, but some
  166.        do not.  In other cases, it is possible to replace
  167.        certain components for increased functionality.
  168.  
  169.     3) The "User Agent" (UA) is the user interface -
  170.        the software that the user uses to read his mail,
  171.        sort things around in folders, and send mail.
  172.        Sometimes called "Mail User Agent" (MUA).
  173.  
  174. ------------------------------
  175. ,Subject: Glossary
  176.  
  177. Rather than alphabetic, this glossary tends to group terms
  178. referring to similar functionality together.
  179.  
  180. Transport Medium:
  181.  
  182.     UUCP (Unix to Unix Copy Program):
  183.     Back in the mists of time, UNIX systems communicated only
  184.     over RS232 serial lines, usually over modems.  UUCP is a
  185.     suite of programs developed back in the early 70's to
  186.     provide this communications link.  All that UUCP does is
  187.     transfer files from one system to another.  There is an
  188.     additional mechanism where one system can direct the
  189.     destination system to run a file through a specific program.
  190.     Electronic mail in UUCP is simply requesting the destination
  191.     machine to run "mail" on a data file.
  192.  
  193.     UUCP communicates by means of "protocols", the most common
  194.     being "g", a method for transmission of data over telephone
  195.     lines and ensuring that the data is not corrupted.  There
  196.     are several other protocols, none universally available,
  197.     and most oriented towards communication media other than
  198.     telephone voice lines (such as dialup X.25, PAD X.25, or
  199.     LAN connects).
  200.  
  201.     UUCP operates over fixed system-to-system links, so sending
  202.     mail from one system to another often has to traverse
  203.     other intermediate systems.
  204.  
  205.     TCP/IP (Transmission Control Protocol/Internet Protocol):
  206.     TCP/IP is a protocol that allows any system on a network to
  207.     talk "directly" to any other, by passing packets of
  208.     information back and forth.  TCP/IP (and its later relative
  209.     OSI) is usually used over networks built on top of Ethernet,
  210.     Token-Ring, Starlan and other LANS.
  211.  
  212.     SMTP:
  213.     Or, "Simple Mail Transfer Protocol", is the communications
  214.     protocol used most commonly over TCP/IP links in UNIX
  215.     environments for mail.  SMTP usually operates directly between
  216.     the source and destination machines, so intermediate machines
  217.     don't get involved (except for gateways, see below).  SMTP
  218.     is usually part of the MTA.
  219.  
  220.     SLIP (Serial Line Internet Protocol):
  221.     SLIP is an implementation of TCP/IP designed for use over
  222.     RS232 serial lines (ie: modems).  The other difference is
  223.     that some SLIP implementations have the ability to "dial the
  224.     phone" to make a connection for a specific transfer, whereas
  225.     LAN TCP/IP is physically continuously connected.  You'd also
  226.     need TCP/IP to run a SMTP mail connection.
  227.  
  228.     PPP (Point-to-Point Protocol):
  229.     A successor to SLIP.
  230.  
  231.     X.25/X.29:
  232.     X.25 is a packet switched data network which is usually
  233.     half-duplex.  In this context, it's really an alternative
  234.     to dialup over voice telephone lines with modems.  X.25
  235.     is available in several "flavours", either direct X.25
  236.     trunk connects over leased lines, through "PAD" interfaces,
  237.     or by ordinary dialup modem access to X.25 "ports".
  238.  
  239.     To be useable in the context of mail transfers, you also
  240.     have to use a file transfer protocol/mechanism of some
  241.     sort on top of X.25.  The most common being UUCP "f" protocol
  242.     (through PADS or dialup), or "x" with direct X.25 connects.
  243.  
  244.     Whether you use X.25 or phones plus modems depends on a number
  245.     of factors - usually the determining factor is cost.  In North
  246.     America, high speed modems (eg: 9600 baud and above) over telephone
  247.     lines tends to be less expensive.  However, Europe's really
  248.     wierd phone system structure usually makes X.25 more cost-effective,
  249.     and therefore, X.25 use in UNIX mail systems is much more common
  250.     in Europe than North America.
  251.  
  252.     X.29 is the command set used to configure and establish
  253.     X.25 connections when you're using asynchronous connections
  254.     to a PAD.
  255.  
  256. Networks:
  257.  
  258.     Internet:
  259.     An "internet" is a network comprised of computers that talk
  260.     to each other using TCP/IP, and usually SMTP for mail.
  261.  
  262.     The "Internet" is a vast network of hundreds of thousands of
  263.     machines using SMTP protocol mail, communicating with
  264.     each other over relatively high speed lines.  But not all
  265.     "internets" are connected to *the* Internet.
  266.     
  267.     The Internet grew out of a US government funded project in
  268.     inter-computer communications that grew into an enormous network
  269.     of systems.
  270.  
  271.     One of the principle characteristics of this network is that
  272.     machines are addressed by domain names which identify the
  273.     destination, rather than addresses that are constructed out
  274.     of the route from machine-to-machine-to-machine.
  275.  
  276.     UUCP Network:
  277.     The UUCP network is that set of machines that talk to each other
  278.     via UUCP.  Sending mail through this network requires that the sender
  279.     know the network topology of UUCP links, and specify a path from one
  280.     machine to the next.  (There are, of course, ways around this.
  281.     See the section on "do's and don'ts".)
  282.  
  283. Mail addresses:
  284.  
  285.     Addresses:
  286.     An email address is a method of specifying a given person on
  287.     a specific machine.  There are scads of conventions, usually
  288.     determined by the presence of "@"'s, "!"'s and other special
  289.     characters in the name.  An address usually consists of
  290.     two parts: a userid/name and a machine specification.
  291.  
  292.     A Domain address usually looks like:
  293.         userid@domain-address
  294.     Whereas a UUCP address usually looks like:
  295.         siteA!siteB!siteC!userid
  296.  
  297.     Domain Addresses:
  298.     Domains are a way of uniquely specifying a destination.
  299.     Much like a postal address, a domain specifies a set of
  300.     progressively more restrictive "domains" of the potential
  301.     address space.  It would perhaps be illustrative to give an
  302.     example:
  303.  
  304.         clewis@ferret.marketing.fooinc.com
  305.  
  306.     You read these things right to left: "com" means the
  307.     commercial domain.  "fooinc" is the name of an organization
  308.     within the commercial domain.  "Marketing" is the name of a
  309.     suborganization within fooinc, and ferret gives the name of
  310.     a machine (usually).  Domains can have any number of levels.
  311.  
  312.     The top level domain (com in the above example) has many
  313.     possible values.  In the United States, "com", "mil", "edu",
  314.     and "gov" are fairly standard.  Elsewhere, the top level
  315.     domain tends to be a country code, the second level tends to
  316.     be a province or state, OR a classification like "edu" or "ac"
  317.     for academic (such as ac.jp, go.jp, ac.uk, edu.au, etc)
  318.     and the third an organization.  But, for example, there are
  319.     many .com and .edu sites in Canada and other countries.
  320.  
  321.     FQDN
  322.     A fully-qualified-domain-name (FQDN) has a entry for each
  323.     level of the domain, from individual machine to top-level
  324.     domain.  In many cases, an organization has implemented an
  325.     organizational "gateway" at a higher level of domain, so
  326.     that people from outside don't have to specify FQDN's to get
  327.     to a specific person.  In the above example, for instance,
  328.     "fooinc.com" may be sufficient to get to anyone inside
  329.     fooinc, and "ferret.marketing" may not be necessary.
  330.  
  331.     On the other hand, people sometimes leave out the higher
  332.     levels of the address, as in "ferret.marketing".
  333.     This is a bad idea - because if the mail is cc'd out of the
  334.     organization, chances are the external recipient cannot reply,
  335.     because "ferret.marketing" is incomplete.  So use addresses
  336.     that are specified sufficiently for external users to use.
  337.     (fooinc.com if a organizational gateway is used, the whole
  338.     ferret.marketing.fooinc.com if not)
  339.  
  340.     NIC
  341.     Internet TOP-LEVEL domains (edu, com, gov, mil) are controlled
  342.     by a single organization, the NIC (nic.ddn.mil).  An organization
  343.     "gets a piece" of the namespace by registering with the NIC, and
  344.     then they are free to administer their own namespace (everything
  345.     under fooinc.com) as they choose.  The same is true for foreign
  346.     countries; Once they have their top-level domain (usually the
  347.     two-letter ISO country code) registered with the NIC, they do
  348.     the rest, and divide it as they see fit.
  349.  
  350.     In contrast, on UUCPnet, all machine names everywhere share a
  351.     single flat namespace.  So it is important to choose a name
  352.     that has not been used before. (See do's and don'ts).  This is
  353.     why FQDN's help.  We can tell the difference between
  354.     ferret.fooinc.com and ferret.blah.edu by their full names.
  355.     (Instead of UUCP paths which may turn out to be wrong, and
  356.     autorouting will probably send the mail to the wrong machine)
  357.  
  358.     MX record:
  359.     A non-SMTP/Internet site that wishes to register on the Internet
  360.     will need to get a "nearby" Internet site to set up a MX
  361.     record for them.  An MX record is essentially a domain-server
  362.     database record that (effectively) registers your domain name
  363.     on the Internet, and indicates that the Internet site knows
  364.     how to forward mail to you.  Usually via some non-SMTP/Internet
  365.     route, such as UUCP.  You can get an MX record for one site, or
  366.     a "wildcard" MX record so that you can have your own subdomains.
  367.  
  368.     Bang-Paths:
  369.     With UUCP mail, the MTA has to specify a route to get from one
  370.     machine to another.  "A!B!C!userid" means go to machine A,
  371.     then B, then C, then user "userid" on C.  You should strive,
  372.     however, for a MUA that allows you to use domain addressing,
  373.     and let the MTA figure out the bang routing as appropriate.
  374.  
  375. Miscellaneous:
  376.  
  377.     Gateways:
  378.     There are several meanings of this term, only three are relevant
  379.     here.
  380.  
  381.     The first is a mechanism for getting from one network to another
  382.     network that uses different protocols.
  383.  
  384.     The second is a mechanism for getting from one logical (often
  385.     organizational) network to another using the same protocol.
  386.     Often for example, there will be a LAN in one department of
  387.     an organization, and one machine in the LAN has the connection
  388.     to another LAN in another department.  This means that mail from
  389.     one LAN to the other has to pass thru the gateway machine.
  390.  
  391.     Another form, which we'll mention later is that of mail to
  392.     news gatewaying.
  393.  
  394.     Routers:
  395.     There are several definitions, but the most important is that
  396.     part of the TA that figures out how to send a message to
  397.     a given machine.  This often uses a database that provides
  398.     routes from one machine to the other machines on the network.
  399.  
  400.     Smarthost:
  401.     In many cases, your machine won't know how to get to a specific
  402.     destination.  You can usually set up your mail system to send mail,
  403.     that it doesn't know how to deliver, to a machine that is more
  404.     likely to.
  405.  
  406.     RFC's:
  407.     A set of documents that include formal descriptions of mail
  408.     formats used on the Internet, and are adhered to by many
  409.     non-Internet systems.  More specifically, in the "worldnet"
  410.     of USENET, Internet and UUCP, the RFC's set the standards
  411.     for mail exchange.  RFC822, 1123 and 976 are the most important
  412.     for Internet/UUCP mail.
  413.  
  414.     It should be pointed out, however, that there are some
  415.     regions where the RFC's are not entirely respected.  For example,
  416.     the British academic email networks (JANET) uses domains, but
  417.     they're specified backwards (they drive on the wrong side of
  418.     the road too ;-).
  419.  
  420.     MIME:
  421.     Mime is the official proposed standard format for multimedia Internet
  422.     mail encapsulated inside standard Internet RFC 822 messages.  Facilities
  423.     include sending multiple objects in a single message, character sets
  424.     other than US-Ascii, multi-font text messages, non-textual material
  425.     such as images and audio fragments, and other extensions.  For an
  426.     overview of Mime, see ftp.uu.net:mail/metamail/MIME-overview.txt.Z.
  427.     The defining document is Internet RFC 1341: N Borenstein & N Freed,
  428.     ``Mime (Multipurpose Internet Mail Extensions) mechanisms for specifying
  429.     and describing the format of Internet message bodies'' (June 1992).
  430.     Also see RFC 1344: N Borenstein, ``Implications of Mime for Internet
  431.     mail gateways'' (June 1992).
  432.     RFC1341 and 1342 have since been superceded by RFC 1521 and 1522.
  433.  
  434.     Mime covers only message bodies, not message headers; to see how to
  435.     represent non-Ascii characters in message headers, see Internet
  436.     RFC 1342: K Moore, ``Representation of non-Ascii text in Internet
  437.     message headers'' (June 1992).
  438.     
  439.     X.400:
  440.     A CCITT standard for email formats, more or less an alternative
  441.     to RFC 822/976/1123.  This format will probably start taking over
  442.     from RFC 822/976/1123 mail.  It is likely to (already has?) become an
  443.     ISO/IEEE standard along with OSI etc.
  444.  
  445.     "The Maps":
  446.     A set of files describing machine-to-machine links distributed
  447.     over USENET in the group comp.mail.maps.  These are usually posted
  448.     on a monthly schedule, and can be automatically received and
  449.     transformed into a routing database that describes the "optimal"
  450.     route to each machine.  These are operated by the "UUCP Mapping
  451.     Project".  See the README posted along with the maps for
  452.     more details.
  453.  
  454.     Aliases:
  455.     Aliases are a mechanism by which you can specify the destination
  456.     for mail on your machine.  Through the use of aliases you can
  457.     redirect mail to "virtual userids".  For example, you should
  458.     have a mail destination on your machine called "postmaster", which
  459.     is aliased to send the mail to the System Administrator (ie: you
  460.     probably).  Aliasing often also permits you to send mail to groups
  461.     of users (not necessarily on the same machine as you) pipelines of
  462.     commands or to specific files.
  463.  
  464.     Mailing lists:
  465.     Are similar to USENET newsgroups.  They are usually aliases
  466.     pointing to groups of users, and allow mail to be sent to the
  467.     whole group at once.  Mailing lists are set up to carry certain
  468.     subjects.  The difference between a mailing list and a USENET
  469.     newsgroup is that the messages are sent by mail, probably as
  470.     a copy to each recipient, rather than broadcast.
  471.  
  472. ------------------------------
  473. Subject: Do's and Don'ts:
  474.  
  475. 1) Register a domain name.  Even on UUCP, where <machine>.UUCP is often
  476.    used as a kludge, it is MUCH preferred that you obtain a real
  477.    domain address.  If you are directly connecting to the Internet,
  478.    you will get one as part of your registration with the NIC.
  479.  
  480.    If you aren't connecting directly to the Internet, obtaining a
  481.    registration will usually require you finding a nearby friendly
  482.    Internet site willing to act as a mail forwarder to you from
  483.    the Internet - the site that will set up a "MX record" for you.
  484.    Many sites will do this for you for free, and several of the
  485.    commercial email services (eg: uunet) will do it for you for a
  486.    nominal charge (without requiring you buy the rest of their
  487.    services).
  488.  
  489.    There are occasions where you can join what is called a "domain
  490.    park".  These are most often small regional groups of systems that
  491.    have gotten one of their number properly registered as a domain,
  492.    and provides forwarding services out to other systems.  For
  493.    example, in my address "ferret.ocunix.on.ca", "ocunix.on.ca"
  494.    is a domain park made up of the Ottawa-Carleton UNIX User's Group,
  495.    one of the other machines in the group provides a gateway between
  496.    our systems and the Internet.
  497.  
  498. 2) If your machine is going to "speak" UUCP to the outside world,
  499.    choose a unique UUCP name.  You can find out whether a name you
  500.    want is taken by consulting the UUCP maps.  Or by asking someone
  501.    else who's using them.
  502.  
  503. 3) Register your machine with the UUCP Mapping Project if you're going
  504.    to use UUCP.  Information on how to do this is included in the
  505.    monthly maps postings in the file "README".  This is usually only
  506.    required when your machine talks UUCP to the outside world, or when
  507.    other machines have to address you by your UUCP name.  If you don't
  508.    do this, somone else may choose the same name, and gross confusion
  509.    will arise when smart routers won't be able to tell whether to send
  510.    a piece of mail to you, or your doppelganger[s].  If you register
  511.    with the UUCP Mapping Project, you have prior use, and people who
  512.    choose the same name afterwards will be told to get a new one.
  513.    
  514.    If you're "behind" an organizational gateway, don't do this.
  515.    (Your organizational gateway is the thing that needs to be
  516.    registered)
  517.  
  518.    If you do fill in a map, please take the time to fill it in
  519.    carefully, giving contact people and phone numbers.  Just in
  520.    case your machine goes crazy and starts doing something nasty.
  521.    Note expecially the latitude and longitude.  Get it right,
  522.    or omit it.  Brian Reid gets really annoyed with sites that
  523.    are half a world away from where they really are.
  524.  
  525. 4) If you're going to be setting up multiple machines, have only
  526.    one or two connections to the outside world.
  527.  
  528. 5) Install a mail system that understands domain addressing, even
  529.    if you aren't registered.  (In fact, all of the suggested
  530.    configurations in this FAQ do)
  531.  
  532. 6) *Never* use UUCP bang-routing with the MUA if you can possibly
  533.    avoid it - each of the suggested mail configurations provide
  534.    mechanisms where you, the user, do not have to specify routes 
  535.    to the MUA - you can specify domains, and the TA will do the
  536.    routing (possibly bang-routing) for you.
  537.  
  538. |   Important: many mailers that understand UUCP attempt to be
  539. |   pedantically "UUCPish" in the construction of headers, such
  540. |   as generating "bang routes" in From:/To: etc. lines.  Which,
  541. |   given that the whole "mail network" is generally converging on
  542. |   more Internet-like standards, and that even UUCP sites are
  543. |   using fully domain-capable mailers, is a big mistake.  RFC976
  544. |   attempts to codify a "meta standard" that allows the coexistance
  545. |   of RFC822/1036 (Internet mail) with UUCP-based networks.  What
  546. |   this means is, essentially, that headers are formed in the
  547. |   SMTP form, even if the transport will be via UUCP.  Unfortunately,
  548. |   however, many mailers insist on "UUCP-izing" perfectly useable
  549. |   Internet/domain headers.  "Fixing" them to prevent this is sometimes
  550. |   difficult.  Sendmail is almost always a problem in this regard.
  551.  
  552. 7) Find a friendly neighboring SA to help.  A SA who has already
  553.    operating mail in your area will help smooth over the regional
  554.    "gotchas" that are bound to crop-up.  And advise you on the
  555.    right software to use, where to obtain it, and how to install it.
  556.  
  557. 8) Do NOT use "any old" Map unpacking program.  Most available
  558.    map unpacking programs automatically run the shell (or shar)
  559.    to unpack map articles.  Since it is trivially easy to forge
  560.    map articles, using this type of unpacking program can
  561.    easily let very destructive trojan horse or virus programs
  562.    into your machine.
  563.  
  564.    The two specific map unpackers described in this FAQ are known
  565.    to be secure from such attacks.  Do not run any other unpacker
  566.    unless you are aware of the issues and can inspect the code for
  567.    such vulnerabilities.  [If you know of other "secure" map
  568.    unpackers that are generally available, please let me know]
  569.  
  570. 9) If the people on your site, or small network, receive mailing
  571.    lists, it's often a good idea to gateway them to news:
  572.  
  573.    Netnews often performs many of the same services as email.
  574.    The primary difference is that messages are centrally stored,
  575.    rather than delivered to individual's mailboxes, and that
  576.    distribution looks more like a broadcast then a set of point-to-point
  577.    communications.  This means usually means that news can handle more
  578.    volume, more efficiently, then email can.
  579.  
  580.    Because of the differences (and also the similarities) people often
  581.    want to tie news and mail together.  This is known as "gatewaying."
  582.    For example, a small software development site might subscribe to the
  583.    X Windows mailing list.  Rather than have (say) eight copies of each
  584.    mail message sent to their host, they would rather have it stored as a
  585.    local newsgroup that everyone in the company can read, and which can
  586.    be centrally archived.  This is a typical use of a "mail to news"
  587.    gateway.  When a user makes a posting to this local group the article
  588.    should be sent back out to the mailing list; this is a typical use of
  589.    a "news to mail" gateway.
  590.  
  591.    On a larger scale, the "inet" groups are bi-directional gateways of
  592.    Internet mailing lists.  Within mainstream Usenet, many popular
  593.    groups such as comp.windows.x, comp.protocols.tcp-ip, comp.unix.wizards,
  594.    and so on, are gatewayed to mailing lists and back.
  595.  
  596.    Many subtle issues often come up when gatewaying mail and news, so
  597.    unless you are experienced you should use one of the already-available
  598.    packages for your local organization.  For example, you probably do not
  599.    want to write a brand-new Perl script and create a new "inet" newsgroup.
  600.    The C News distribution includes some basic gateway tools in the
  601.    contrib/nntpmail directory.  Many people use Rich $alz's "newsgate"
  602.    package that appeared in comp.sources.unix Volume 24; it includes
  603.    discussion of some of the more subtle issues that come up.
  604.  
  605.    Before starting a mailing list gateway, apart from the technical aspect
  606.    of the job you should also be aware of one important point: mailing-lists
  607.    are considered private, whereas newsgroups are public.
  608.     
  609.    One can know who gets a list, but not who reads the group. It is always
  610.    wise to get the authorization of the mailing-list manager and of the readers
  611.    before creating a mail/news gateway.
  612.  
  613. 10) If you're connecting to the Internet, or are setting up a large local
  614.    internet, you really should get a copy of the DNS and BIND book mentioned
  615.    in the bibliography.
  616. ------------------------------
  617. Subject: Configuration Issues:
  618.  
  619. What you need for email connectivity is determined by:
  620.  
  621.     1 What networks you intend to connect to.
  622.       The Internet (hence SMTP)?  UUCP sites?  X.400?
  623.       Bitnet?  Others?  Combinations?
  624.     2 What links you have or are willing to install
  625.       Internet T1?  T2?  UUCP?  Other?  [Details on how to
  626.       make your connections is beyond the scope of this FAQ,
  627.       but can usually be found out from the provider (other end)
  628.       of the link]
  629.     3 what user interface you want to use.  This is largely
  630.       an independent issue, so consult the Specific Package
  631.       Reviews directly.
  632.  
  633. ------------------------------
  634. Subject: Recommended MTA Configurations:
  635.  
  636. These configurations are based upon my own experience, and the
  637. experience of others.  Careful installation of any of these
  638. configurations will result in a solid, reliable mail system
  639. that respects the appropriate "do's and don'ts".  Each configuration
  640. represents a compromise of ease of installation and maintenance
  641. versus sophistication and capabilities.
  642.  
  643. One thing you should consider is what you already have on your
  644. system.  You will invariably have "binmail", and will have a good
  645. chance at already having sendmail.  Some systems come with
  646. smail (if 2.3, junk it)  The configurations shown below are *minimal*
  647. configurations, so you should consider whether you want to use what
  648. you already have or not.
  649.  
  650. Scenario 1:  Only UUCP connections.
  651.  
  652.     Smail 2.5.  If you want to set up a routing database of
  653.     your own, you will also need pathalias, and unpackmaps or
  654.     uuhosts.  Instead, though, you can configure smail 2.5 to
  655.     smart-host most destinations to a nearby friendly site
  656.     who'll do your routing for you without having to run
  657.     the routing software.  Note further, that you can run
  658.     pathalias on just a subset of the full set of maps.
  659.     [Unpackmaps makes this particularly easy to do]
  660.  
  661.     Smail 2.5, as shipped, does not support mail-to-pipeline
  662.     or mail-to-file aliasing.  If you need these, at a minimum,
  663.     you should obtain lmail.  If you intend more than casual
  664.     use of these features, it is recommended that you obtain
  665.     deliver or procmail instead of lmail.
  666.  
  667.     Even if you have sendmail already, you can integrate smail 2.5
  668.     with it to do your UUCP routing.  (though, some later versions
  669.     of sendmail can do routing themselves)
  670.  
  671. |    If you're a little more demanding of your mail connections, smail 3
  672. |    is also a good choice, and works particularly well for systems that
  673. |    are UUCP connected to Internet sites.
  674.  
  675. Scenario 2:  SMTP connections (optionally, some UUCP connections too).
  676.  
  677.     Generally speaking, sendmail will do this for you and you have
  678.     a good chance to have it already.  However, for the novice, it
  679.     is recommended that smail 3 be used instead [see review of
  680.     sendmail below].  Smail 3 includes all of the routing software
  681.     and can do mail-to-pipeline and mail-to-file, so none of the auxiliary
  682.     programs mentioned in scenario 1 are necessary.
  683.  
  684.     Most sendmails don't include UUCP routing mechanisms, so you would
  685.     need pathalias and unpackmaps or uuhosts if you wish to set up
  686.     a UUCP routing database.  Further, most sendmails don't know
  687.     how to query a pathalias database directly, so you may have to hack
  688.     your own path lookup program into the sendmail.cf (smail 2.5 can
  689.     be used for this purpose provided that you will have a UUCP link
  690.     to the outside world)
  691.  
  692. |    Both MMDF and PP can also be used, but PP is usually overkill.
  693.  
  694.     Deliver or procmail are still quite useful in this configuration
  695.     for extended alias facilities.
  696.  
  697. Scenario 3:  Connections to other networks (optionally including
  698.     SMTP or UUCP), or very high loading.
  699.  
  700.     Your best bets are MMDF, PP or zmailer.
  701.     
  702.     You can implement other network interfaces with sendmail, but
  703.     not only will you probably have to roll your own, but sendmail
  704.     can't cope with high loading very well.  Ditto smail 3.
  705.  
  706. There are other configurations.  See the Package Reviews to
  707. determine which packages are appropriate.
  708.  
  709. ------------------------------
  710. Subject: Package Reviews
  711.  
  712. Honesty requires me to point out which software packages were
  713. reviewed by their author (including me ;-).  I do so by appending
  714. a "*" to the name of the author.  In some cases, the material
  715. has been cribbed from FAQ's or general information blurbs.
  716.  
  717. It is worth noting, though, that most of these packages are well
  718. known, and have been in operation at many sites for periods of
  719. a year or more.  These packages do their job well, and have been
  720. extensively thrashed out in the best debugging laboratory in the
  721. universe (USENET ;-)
  722.  
  723. A few packages have been mentioned prior to their release.
  724. (unpackmaps 4, the occasional beta version).  It is
  725. recommended that these versions be avoided by novices until they
  726. have had a chance to settle for a little while.  This FAQ will
  727. note when such software seems (according to rumour *I* hear) to be
  728. stable enough for general use.
  729.  
  730. Some of these packages are capable, by various bits of hackery,
  731. of doing a lot more than is claimed for them.  But I refrain
  732. on telling you how to "take the covers off".  Given the
  733. intended audience, that would be tantamount to trying to
  734. teach preschoolers do-it-yourself brain surgery.  Please don't
  735. take this as condescending - I've been working on/in/with email
  736. systems for over 12 years and I *still* won't play with (as
  737. just one example) sendmail.cf's.
  738.  
  739. Therefore, I restrict myself largely to "out-of-the-box" functionality,
  740. "fill-in-the-blank" configurability, and normal documented installation
  741. procedures.  Beyond that, you're on your own.
  742.  
  743. binmail
  744.  
  745.     binmail is usually really called "mail". On System V prior to
  746.     Release 4, it is a really simple UA that does dual duty as the
  747.     TA.  It's pretty awful because it doesn't know how to set up
  748.     headers properly, doesn't even know what a "Subject:" line is,
  749.     and there's no way to do any kind of aliases.
  750.  
  751.     On BSD, binmail invokes sendmail to do the MTA function.  On
  752.     System V prior to Release 4, you really do want to replace binmail's
  753.     MTA functionality with something else.  However, you should not
  754.     replace it in its "mail" (UA) functionality, because many
  755.     system-level administration mechanisms will break.  Any new UA
  756.     should be installed as a different name than "mail".
  757.  
  758.     Beginning with System V Release 4, "binmail"'s transfer agent
  759.     capabilities were considerably enhanced to have similar capabilities
  760.     to Smail 3 and sendmail.  There is usually no need to replace it with
  761.     another mail agent.  (See SVR4 mail discussion below)
  762.  
  763.     Binmail stores mail in "mbox" format.
  764.  
  765. rmail
  766.  
  767.     binmail's TA functionality is implemented by linking mail
  768.     to rmail.  It's rmail that you'd want to replace with smail 2.5
  769.     etc.
  770.  
  771. Mail
  772.  
  773.     The original BSD UA.  It can support local profiles, aliases, folders,
  774.     header previewing, out-going mail recording and all sorts of good stuff.
  775.     An "okay" UA.  Available from BSD "freed-sources" archives.
  776.  
  777.     Mail stores mail in "mbox" format.
  778.  
  779. mailx
  780.  
  781.     AT&T's answer to BSD "Mail", from which it is descended.  Some versions,
  782.     such as the 3b1 one, should be avoided because of a buggy port.  Not
  783.     available in source form (it's proprietary but ubiquitous enough to be
  784.     mentioned here).
  785.  
  786.     Mailx stores mail in "mbox" format.
  787.  
  788. mush: author Dan Heller* <argv@z-code.com>
  789.  
  790.     The "Mail User's Shell" is a "shell" for mail users.  That is, it
  791.     has its own environment where you can configure not only the user
  792.     interface, but the actual internal mechanisms.  Internally, mush
  793.     has a csh-like scripting language, altho it's not as powerful as
  794.     csh.  It has command-line aliases, file completion, if-else state-
  795.     ments, command piping, and so on.  Because you can build your own
  796.     commands, you can virtually build your own library of email features.
  797.  
  798.     Mush has two tty-based interfaces: the standard tty-mode (ala BSD
  799.     Mail or sys-v mailx) and the fullscreen/curses mode (ala vi, emacs
  800.     or even Elm).  You can set up key bindings that execute one or more
  801.     mush commands, personalized commands or even UNIX commands.  You
  802.     can even emulate keyboard input with keyboard macros and mappings.
  803.  
  804.     Mush also has a SunView interface that is more powerful than Sun's
  805.     Mailtool, yet backwards compatible with most versions.  Most sunview
  806.     users (if there are any left these days) prefer MushView over Mailtool.
  807.  
  808.     The current version of Mush is 7.2.3, last posted in comp.sources.misc
  809.     volume 18 (with subsequent patches).  All three interfaces are
  810.     available in one runtime binary.  Except for the MushView interface
  811.     (which is only available on for suns), Mush is portable to everything
  812.     that runs UNIX.  There is also a DOS port available for PCs and can
  813.     run on most 286 machines. An older version of Mush (6.5) can run on
  814.     as little as 640 of RAM.  (Mush-PC is typically used with UUPC.)
  815.  
  816.     The "next generation" of Mush is a commercial product called Z-Mail
  817.     from Z-Code Software (mail argv@z-code.com for details).  All aspects
  818.     of Mush are retained, yet it has grown to be far more powerful.  It
  819.     runs under X windows with either a Motif or Open Look interface
  820.     and also supports multi-media, user "functions" and a suite of new
  821.     features.
  822.  
  823.  
  824.     Mush stores its messages in "mbox" format, or MMDF format if you're
  825.     using MMDF as your MTA.
  826.  
  827.     The newsgroup comp.mail.mush is dedicated to it.
  828.  
  829.     [Note: Z-Mail is not related at all to Zmailer.  Zmailer is a MTA]
  830.  
  831. elm: coordinator Syd Weinstein* <syd@DSI.COM>
  832.  
  833.     (cribbed from comp.mail.elm FAQ)
  834.  
  835.     Elm is designed to run with "sendmail" or "/bin/rmail"
  836.     (according to what's on your system) and is a full
  837.     replacement of programs like "/bin/mail" and "mailx".  The
  838.     system is more than just a single program, however, and
  839.     includes programs like "frm" to list a 'table of contents'
  840.     of your mail, "printmail" to quickly paginate mail files (to
  841.     allow 'clean' printouts), and "autoreply", a systemwide
  842.     daemon that can autoanswer mail for people while they're on
  843.     vacation without having multiple copies spawned on the
  844.     system.
  845.  
  846.     The most significant difference between Elm and most other
  847.     mail systems is that Elm is screen-oriented.  Upon further
  848.     use, however, users will find that Elm is also quite a bit
  849.     easier to use, and quite a bit more "intelligent" about
  850.     sending mail and so on.
  851.  
  852.     Current release is Elm 2.4 PL21..  Information on access is
  853.     available from the server at DSI.COM:
  854.     send mail to archive-server@DSI.COM
  855.     send elm index
  856.  
  857.     [Ed: elm is particularly good for novices.  The only drawback
  858.     that I've heard is that elm is a bit less user configurable than,
  859.     say, mush]
  860.  
  861. MM: Contact Joseph Brennan* <info-mm@cunixf.cc.columbia.edu>
  862.                 Columbia University in the City of New York
  863.  
  864.     (cribbed from MM man page.)
  865.  
  866.     mm is a powerful electronic mail system which allows you to send, read,
  867.     edit and manage messages quickly and easily.  It is designed to have the
  868.     same interface as the MM program written and developed for DEC20s over a
  869.     period of many years.
  870.  
  871.     mm was written using the CCMD package developed at Columbia.  Thus, it
  872.     has copious internal help, completion of partially typed commands on use
  873.     of the TAB key, and help on partial commands when ?    is typed.
  874.  
  875.     mm can read several mail-file formats.  Its default is mbox, the same
  876.     format used by unix mail.  It also can read babyl, used by emacs rmail,
  877.     and mtxt and MH.  It can copy messages from one file type to another.
  878.  
  879.     MM is a Freeware MUA copyright by Columbia University (as is this
  880.     description).
  881.  
  882.     MM is available by anonymous ftp from cunixf.cc.columbia.edu, directory mm.
  883.     The file mm-intro.txt there is a longer description of how it was developed.
  884.  
  885.     [Ed: MM also appears to be a good UA for novices.  From the examples
  886.     in the manual page, it handholds extensively and is not screen oriented.]
  887.  
  888. MH: Maintainer John Romine <Bug-MH@ics.uci.edu>
  889.  
  890.     The big difference between MH and most other "mail user agents" is
  891.     that you can use MH from a UNIX shell prompt.  In MH, each command
  892.     is a separate program, and the shell is used as an interpreter.  So,
  893.     all the power of UNIX shells (pipes, redirection, history, aliases,
  894.     and so on) works with MH--you don't have to learn a new interface.
  895.     other mail agents have their own command interpreter for their
  896.     individual mail commands (although the mush mail agent simulates a
  897.     UNIX shell).  Mail messages are stored in individual files.
  898.  
  899.     The current version of MH is 6.8.3 and supports MIME.  MH comes
  900.     standard with Ultrix 4.0 and later, and AIX 3.1 and later.
  901.     via anonymous ftp:
  902.  
  903.     ftp.ics.uci.edu [128.195.1.1]      pub/mh/mh-6.8.tar.Z    1.6MB
  904.     louie.udel.edu [128.175.1.3]  portal/mh-6.8.tar.Z    1.6MB
  905.  
  906.     comp.mail.mh discusses MH, and contains a FAQ article.
  907.  
  908. |    Jerry Peek wrote a book about MH called "MH & xmh: E-mail for Users &
  909. |    Programmers", ISBN 1-56592-027-9, published by O'Reilly and Associates,
  910. |    second edition, September 1992.
  911.  
  912. |XMH: <extracted from the manual page>
  913. |
  914. |     The xmh program provides a graphical user interface  to  the
  915. |     MH Message Handling System.  To actually do things with your
  916. |     mail, it makes calls to the  MH  package.   Electronic  mail
  917. |     messages  may  be composed, sent, received, replied to, for-
  918. |     warded, sorted, and stored in folders.  xmh provides  exten-
  919. |     sive mechanism for customization of the user interface.
  920. |
  921. |     xmh is part of the standard X distribution from the X Consortium.
  922.  
  923. |EXMH: Author Brent Welch* <welch@parc.xerox.com>
  924. |
  925. |    As well as providing the usual layer on top of MH commands, exmh
  926. |    has a number of other features:
  927. |
  928. |    MIME support!  Displays richtext and enriched directly.  Parses
  929. |    multipart messages.  Displays hot buttons that invoke external viewers
  930. |    (metamail) for things not directly supported.  Built-in editor allows
  931. |    simple composition of text/enriched format.
  932. |
  933. |    Color feedback in the scan listing so you can easily identify
  934. |    unseen messages (blue), the current message (red), deleted
  935. |    messages (gray background), and moved messages (yellow background).
  936. |    Xresources control these color choices.
  937. |
  938. |    A folder display with one label per folder.  Color highlights
  939. |    indicate the current folder (red), folders with unseen messages
  940. |    in them (blue), and the target folder for moves (yellow background).
  941. |    Nested folders are highlighted by a shadow box.  A cache of
  942. |    recently visted folder buttons is also maintained.  Monochrome
  943. |    highlights are reverse video for the current folder, bold box
  944. |    for folders with unseen messages, and stippled box for the
  945. |    target of move operations.
  946. |
  947. |    Clever scan caching.  MH users know that scan is slow, so
  948. |    exmh tries hard to cache the current state of the folder to
  949. |    avoid scanning.  Moves and deletes within exmh do not
  950. |    invalidate the cache, and background incs that add new messages
  951. |    are handled by merging them into the scan listing.  The
  952. |    scan cache is compatible with xmh.
  953. |
  954. |    Numerous other features, such as "facesaver" display, backgrounds,
  955. |    dialog-box interface to MH "pick", folder searching and listing,
  956. |    designed for inclusion of user "hooks" and interfaces etc.
  957.  
  958. GNU Emacs Rmail:
  959.  
  960.     Rmail is an Emacs subsystem for reading and disposing of mail.  Rmail
  961.     stores mail messages in Rmail files in BABYL format (originally used
  962.     under the ITS operating system), although it can incorporate new mail
  963.     from MMDF and Unix format files, or mixed-format files.  Reading the
  964.     messages in an Rmail file is done in a special major mode, Rmail mode,
  965.     which redefines most letters to run commands for managing mail.
  966.  
  967.     Rmail can do the standard things such as displaying, deleting, filing,
  968.     or replying to messages.  Replying uses another Emacs subsystem, Mail
  969.     mode.  Messages can be saved in either BABYL or Unix format.  Rmail
  970.     maintains per-message attributes and user-defined labels.  Rmail can
  971.     burst message digests.
  972.  
  973. VM: Author Kyle Jones* <kyle@uunet.uu.net>
  974.  
  975.     VM (View Mail) is a GNU Emacs subsystem that allows UNIX mail to be read
  976.     and disposed of within Emacs.  Commands exist to do the normal things
  977.     expected of a mail user agent, such as generating replies, saving
  978.     messages to folders, deleting messages and so on.  There are other more
  979.     advanced commands that do tasks like bursting and creating digests,
  980.     message forwarding, and organizing message presentation according to
  981.     various criteria.
  982.  
  983.     The current version of VM is VM 4.41.
  984.     FTPable from:
  985.  
  986.     ftp.uu.net            mail/vm/vm-4.41.tar.Z
  987.     archive.cis.ohio-state.edu    pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z
  988.  
  989.     VM is discussed in gnu.emacs.vm.info, or by mailing list by sending
  990.     an e-mail request to info-vm-request@uunet.uu.net.
  991.  
  992. MH-E: Maintainer: Stephen Gildea <gildea@bbn.com>
  993.  
  994.     MH-E is an interface to MH from within GNU Emacs.  It helps if MH was
  995.     compiled with the MHE compiler flag.  MH-E is distributed with both GNU
  996.     Emacs and MH.  Choose the later version.
  997.  
  998. C-Client: Author Mark Crispin <mrc@panda.com>
  999.  
  1000.     Software writers only:
  1001.  
  1002.     C-client is a general library useful for creating MUA's.  It provides
  1003.     a high level logical interface for retrieving and manipulating
  1004.     mail messages.  It supports the latest draft of MIME (proposed
  1005.     Internet standard for multipart, multimedia, typed electronic mail).
  1006.     It is driver based, and easily ported to new platforms and MTA's,
  1007.     already supports BSD, SysV, DOS, Macintosh and TOPS-20(!),
  1008.     and supports present mail and mailbox formats.
  1009.  
  1010.     Just the thing if you want to write a new MUA.
  1011.  
  1012.     Contact the author for more details.
  1013.  
  1014. Metamail: Author N. Borenstein
  1015.     [Described by Paul Eggert, eggert@bi.twinsun.com]
  1016.  
  1017.     Metamail is a software implementation of Mime, designed for easy
  1018.     integration with traditional mail-reading interfaces -- typically,
  1019.     users do not invoke metamail directly.  Ideally, extending the local
  1020.     email or news system to handle a new media format is a simple matter
  1021.     of adding a line to a mailcap file.  Mailcap files are described in
  1022.     RFC 1343: N Borenstein, ``A user agent configuration mechanism for
  1023.     multimedia mail format information'' (June 1992).  The source code
  1024.     for metamail can be found in ftp.uu.net:mail/metamail/mm.tar.Z.
  1025.     To join its mailing list, write info-metamail-request@thumper.bellcore.com.
  1026.  
  1027.  
  1028. MailManager: Author Mark Crispin <mrc@panda.com>
  1029.  
  1030.     A MUA implemented using C-Client for NeXT computers.
  1031.  
  1032. Pine: Authors Lundblade, Seibel, and Crispin <pine@cac.washington.edu>
  1033.  
  1034.     Pine is a mailer developed by the University of Washington Office of
  1035.     Computing and Communications. It has been designed for ease-of-use and
  1036.     with the novice computer user in mind. It is based on Internet mail
  1037.     protocols (e.g. RFC-822, SMTP, IMAP, and MIME) and currently runs on
  1038.     a variety of UNIX platforms, and a version is apparently available for
  1039.     MSDOS. 
  1040.  
  1041.     The guiding principles for achieving ease-of-use in Pine were:
  1042.     careful limitation of features, one-character mnemonic commands,
  1043.     always-present command menus, immediate user feedback, and high
  1044.     tolerance for user mistakes. It is intended that Pine can be learned
  1045.     by exploration rather than reading manuals.
  1046.  
  1047.     A stand-alone version of Pico, Pine's message composition editor, is also
  1048.     included. It is a very simple and easy to use text editor with text
  1049.     justification and a spelling checker. 
  1050.  
  1051.     Features:
  1052.        - Mail index showing a message summary which includes the status, 
  1053.      sender, size, date and subject of messages.
  1054.  
  1055.        - View and process mail with the following commands:  forward, reply, 
  1056.      save, export, print, delete, capture address and search.
  1057.  
  1058.        - Address book for saving long complex addresses and personal 
  1059.      distribution lists under a nickname. 
  1060.  
  1061.        - Multiple folders and folder management screen for filing messages.
  1062.  
  1063.        - Message composer with easy-to-use editor and spelling checker.
  1064.      The message composer also assists entering and formatting
  1065.      addresses and provides direct access to the address book.
  1066.  
  1067.        - Online help specific to each screen and context.
  1068.  
  1069.        - Supports access to remote mail repositories via the IMAP2 protocol
  1070.      defined in RFC-1176.
  1071.      
  1072.        - Soon to support multi-part mail conforming to proposed MIME Internet
  1073.      standard, allowing sending of sounds, graphics such as GIF and TIFF
  1074.      files, and binary files such as spreadsheets. 
  1075.  
  1076.     Pine, including source code, is freely available via anonymous FTP from
  1077.     ftp.cac.washington.edu on the Internet. Other provisions for distribution
  1078.     have not been made. From the Internet, you may try out Pine and leave
  1079.     comments by telneting to "demo.cac.washington.edu" and logging in as
  1080.     "pinedemo". To join the Pine mailing list for announcements send a 
  1081.     request to "pine-info-request@cac.washington.edu". 
  1082.  
  1083.     Pine is very portable and runs on a variety of UNIX machines including
  1084.     DECstations, NeXTs, VAX's and Suns. Pine was originally based on Elm, 
  1085.     but it has evolved much since, ("Pine Is No-longer Elm"). 
  1086.  
  1087.     For further information send e-mail to pine@cac.washington.edu. Pine is
  1088.     the work of Mike Siebel, Mark Crispin, and Laurence Lundblade at the
  1089.     University of Washington. 
  1090.  
  1091. Ream: Author: Paul Dourish* <dourish@europarc.xerox.com>
  1092.  
  1093.     Ream is a curses-based mail user agent for a variety of UNIX flavours;
  1094.     at one time or another, it's run on everything from a PC running Linux
  1095.     to a Cray Y/MP running UNICOS. It was originally written at the
  1096.     University of Edinburgh, and has spread not least through the
  1097.     subsequent geographical distribution of alumni. It remains minimally
  1098.     supported by its author (Paul Dourish <dourish@europarc.xerox.com>).
  1099.  
  1100.     Ream is similar to elm in a number of ways, but considerably smaller
  1101.     and with a stronger separation between MUA and MTA behaviours. It runs
  1102.     over sendmail, mmdf and PP. It is available by anonymous ftp from
  1103.     parcftp.xerox.com, in pub/europarc/reamXXX.tar.Z, where XXX is a
  1104.     slowly incrementing version number.
  1105.  
  1106. XLView: Author: Several.  Mike Macgirvin* <mtm@camis.stanford.edu>
  1107.  
  1108.     Current version 1.1 (Developer Release).  XLView (previously known as
  1109.     "Ximap") is an X based mail reader using the IMAP (IMAP2bis) protocol,
  1110.     for managing complex mail tasks.  It utilizes the X window system to
  1111.     allow independant processing of multiple mailboxes (even on multiple
  1112.     servers) simultaneously.  Each "read" and "compose" process is handled
  1113.     in an independant window as well.  It handles many complex MIME messages
  1114.     with the help of external multi-media handlers based partially on
  1115.     "metamail", and include facilities for file attachments of several
  1116.     common types.  It includes an address book with insert completion
  1117.     abilities and for maintaining addresses.  Of course it has the normal
  1118.     move/copy/save/reply/forward/print etc., functions one would expect and
  1119.     text may be cut and pasted from other open X sessions.  The most
  1120.     powerful feature of the latest release is the "Logical Viewer" which
  1121.     allows one to create rule based sorting of their mailbox based on
  1122.     addresses, dates, contents, message flags and other criteria.  Each
  1123.     existing message (and each new message) is evaluated and stored in the
  1124.     appropriate logical view, which may be opened as if it were a separate
  1125.     mailbox (but all the while it only represents a different ``view'' of
  1126.     your system mailbox).  Each mailbox or saved folder may have independant
  1127.     rulesets.  Status changes also are evaluated as they occur and the rules
  1128.     applied accordingly.  The rule language is powerful, yet easy to grasp;
  1129.     i.e.
  1130.  
  1131.     FROM clyde@podunk.edu OR jim SINCE YESTERDAY AND UNSEEN
  1132.     
  1133.     Currently tested with SunOS4.1.x and Ultrix running X11R5.
  1134.     Several alternate system ports including SVR4 are due shortly.
  1135.  
  1136.     FTP: SUMEX-AIM.Stanford.EDU:/imap/clients/ximap/xlview-1.1.tar.Z
  1137.     Information: xlview@CAMIS.Stanford.EDU
  1138.     
  1139.     Principal Authors: Kevin Brock, Bill Yeager and Mike Macgirvin at the
  1140.     Center for advanced Medical Informatics at Stanford. 
  1141.  
  1142. Z-Mail: Z-code Software Corp, Carlyn Lowry* <lowery@z-code.com>
  1143.  
  1144.     Z-Mail, a UNIX World Magazine "Product of the Year" winner for 1991, is
  1145.     a complete electronic mail system for workstations.  Z-Mail provides
  1146.     Motif and Open Look graphical user interfaces, as well as two character
  1147.     modes.  The software has been ported to nearly every system that runs
  1148.     UNIX, and it works with all standard UNIX mail transport agents
  1149.     including sendmail, binmail, smail, MMDF and X.400 gateways.  Z-Mail can
  1150.     replace or coexist with standard mail user agents on the system,
  1151.     including BSD Mail, AT&T mailx, Sun Mail Tool, Elm or Mush.  Most anyone
  1152.     can use Z-Mail "off the shelf" and immediately benefit from its simple
  1153.     interface and advanced features.
  1154.  
  1155.     Z-Mail also includes Z-Script, a powerful scripting language that
  1156.     enables users to customize and extend Z-Mail's capabilities.  Z-Mail's
  1157.     multi-media capabilities allow easy integration with best-of-class
  1158.     products including spreadsheets, desk-top publishing, graphics, fax,
  1159.     voice, and video.  For example, when users receive a spreadsheet file,
  1160.     Z-Mail can be configured to automatically launch the associated
  1161.     application and load the the attachment automatically and transparently
  1162.     to the user.  Z-Mail understands MIME-format documents and is also
  1163.     compatible with Sun's multimedia Mailtool.
  1164.  
  1165.     Mac, DOS, and Windows versions, as well as native MIME support, are
  1166.     planned for this summer.
  1167.  
  1168.     For more information on Z-Mail, contact:
  1169.     Z-Code Software Corp.
  1170.     4340 Redwood Hwy., Suite B-50
  1171.     San Rafael, CA 94903
  1172.     tel: (415) 499-8649
  1173.     fax: (415) 479-0448
  1174.     e-mail: info@z-code.com
  1175.  
  1176.     Also, you can anonymous-ftp a demo copy of Z-Mail from "ftp.ora.com" in
  1177.     the directory pub/z-code/zmail/2.1.  (The file you want is named
  1178.     zm.XXX.tar.Z, where XXX is your type of machine.)  You'll need to call
  1179.     us after you do so we can send you an activation key.
  1180.  
  1181.     [As mentioned previously, Z-Mail is the commercial variant of mush. Ed]
  1182.  
  1183. uumail:
  1184.  
  1185.     Uumail is a very old and obsolete precursor to smail 2.5.  Included
  1186.     here only because I know that uumail sites still exist.  You
  1187.     should not install uumail in new configurations, and existing
  1188.     uumail sites should convert to something more modern.
  1189.  
  1190. smail 2.5: author The UUCP Mapping Project
  1191.  
  1192.     Smail 2.5 is a small, simple and hard-coded rule MTA for use on
  1193.     UUCP networks.  It understands RFC compliant headers, will
  1194.     generate RFC compliant Internet-style headers, can
  1195.     use domains, aliases, a pathalias UUCP routing database, and
  1196.     is very simple to install.  For full functionality, you will
  1197.     also want pathalias and a map unpacker.  The one thing
  1198.     it cannot do by itself is mail-to-pipe and mail-to-file aliasing.
  1199.     For that, you need Zeeff's lmail, deliver or procmail.
  1200.  
  1201.     Smail 2.5 has the capability of coalescing addresses into single
  1202.     UUCP transfers, and knows how to query UUCP for the names
  1203.     of UUCP neighbors, and autoroute if necessary.
  1204.  
  1205.     Smail 2.5 has a few bugs that are (usually) pretty rarely seen
  1206.     in operation.  There have been a number of patches posted for it,
  1207.     but it is recommended that you do not apply them - some were
  1208.     ill-conceived, buggy in their own right, or conflicting with others.
  1209.     The only patches that I feel safe in recommending is Chip
  1210.     Salzenberg's patches for use with Xenix MICNET - which are
  1211.     unnecessary unless you are in the unfortunate position of having
  1212.     to actually *use* MICNET.  Chip Salzenberg's "deliver" package
  1213.     (see below) combined with "smail-deliver.pch" from comp.sources.unix,
  1214.     volume 25 issue 107, makes the MICNET modifications to smail
  1215.     itself unnecessary.
  1216.  
  1217.     In particular, do not apply the "mail-to-pipe/file" patches that
  1218.     float around for smail 2.5.  These are a major security hole.
  1219.  
  1220.     Smail 2.5 can also be used with sendmail as a UUCP router.
  1221.  
  1222.     Smail 2.5 was posted in comp.sources.unix in 1987, volume 11
  1223.     with archive name "smail3" (but it isn't the same thing as
  1224.     smail 3 below).
  1225.  
  1226. lmail: Author Jon Zeeff <zeeff@b-tech.ann-arbor.mi.us, zeeff@ais.org>
  1227.  
  1228.     When you install smail 2.5, you link the original /bin/mail (binmail
  1229.     above) to /bin/lmail to perform the task of actually delivering the
  1230.     mail to the user's mailbox (LDA).
  1231.  
  1232.     Since smail 2.5 was not capable of doing mail-to-pipe and mail-to-file
  1233.     aliasing, Jon Zeeff wrote a replacement lmail that implemented
  1234.     these (along with user mailbox delivery).
  1235.  
  1236.     Jon's program is okay for casual use, but has some pretty serious
  1237.     bugs.  Fixed versions are available, but you're probably better
  1238.     off installing deliver or procmail.
  1239.  
  1240. smail 3: Author Ronald S. Karr* <tron@veritas.com> and Landon Curt Noll.
  1241.  
  1242.     Smail3.1 is a domain-capable mail router and delivery program that
  1243.     works in the UUCP zone and on the Internet and that is capable of
  1244.     gatewaying between the two.  It was written primarily by me (Ronald
  1245.     S.  Karr) and Landon Curt Noll, with the blessings of the original
  1246.     Smail1 and Smail2 authors.
  1247.  
  1248.     Smail3 supports SMTP, UUCP mail, alias files, .forward files, mailing
  1249.     list directories, pathalias files, /etc/hosts files, the domain name
  1250.     system, and can also query uucp for neighboring sites, automatically.
  1251.     It also supports use of encapsulated SMTP commands for delivery over
  1252.     UUCP connections, which allows batching of multiple messages into a
  1253.     single UUCP transaction, and allows many addresses to be passed with a
  1254.     single message transfer, which can greatly decrease the traffic
  1255.     generated for large mailing lists.  It is also very simple to configure
  1256.     with a reasonable certainty of correctness.
  1257.  
  1258.     Smail3 includes pathalias and a reliable map unpacker.
  1259.  
  1260.     Rather than using configuration files to resolve addresses based on
  1261.     their syntax, ala sendmail, Smail3 uses a database metaphore for
  1262.     resolving addresses based on their contents.  The set of methods that
  1263.     Smail3 uses for resolving local addresses and hosts is configurable and
  1264.     extensible.  Smail3's methods for parsing addresses are not
  1265.     configurable.  It is the opinion of the authors that addressing on the
  1266.     Internet and in the UUCP zone has become sufficiently standardized that
  1267.     attempts to allow configurability in this area are now a hindrance to
  1268.     the correct working of the network.
  1269.  
  1270.     Questions related to Smail3 are usually discussed in comp.mail.misc.
  1271.     There are also two discussion mailing lists.  To join the mailing
  1272.     lists, send mail to:
  1273.  
  1274.     smail3-users-request@cs.athabascau.ca
  1275.  
  1276.     The current release of Smail3 can be found on uunet, in the file
  1277.     /archive/networking/mail/smail/smail-3.1.28.tar.Z.  New versions
  1278.     are released on a haphazard basis.  Official releases are always
  1279.     made available in the /archive/networking/mail/smail directory
  1280.     on uunet.
  1281.  
  1282.     Smail 3 is covered under the GPL (if it matters)
  1283.  
  1284. sendmail: Original author Eric Allman
  1285.  
  1286.     Sendmail is the granddaddy of all intelligent MTA's.  It can do just
  1287.     about anything.  It's main problem is that it can do just about
  1288.     anything.  Modification of sendmail's configuration tables (which is
  1289.     necessary with most vendor-supplied versions) is NOT for novices.
  1290.     The language of the sendmail.cf is cryptic, but that isn't really
  1291.     the problem (and this problem can be solved by using "EASE", a
  1292.     sendmail.cf writing language, or the UIUC IDA kit's configuration
  1293.     file building tools).  The problem is that it's extremely difficult
  1294.     to know when the rules you are implementing are the right thing--
  1295. |    many sendmail configurations do slightly buggy, or even extremely
  1296. |    buggy, or illegal things.  The default configurations generated by the
  1297. |    UIUC IDA kit are, however, very good at Doing the Right Thing under most,
  1298. |    if not all, circumstances.  I hear similar things about the Sendmail
  1299. |    8.6 package.
  1300.  
  1301.     Worse, every vendor's version of sendmail is different, and many
  1302.     of their sendmail.cf's don't work at all.  HPUX is one example
  1303.     of where the sendmail.cf is actually pretty sane.  HP is to
  1304.     be congratulated.  On the other hand, some vendors, who shall
  1305.     remain nameless, can't even get their sendmail to deliver to local
  1306.     users, let alone get their sendmail to speak SMTP on a LAN.
  1307.  
  1308. |    The major problem with sendmail is that it tries to do too many
  1309. |    things.  Rather than confining itself to handling local mail, and
  1310. |    simply routing external mail and leaving transport-specific
  1311. |    format/standards conversions to transport software, it attempts
  1312. |    (nay virually *insists*) that you have to do all of the
  1313. |    format/standards conversions for different transports all at once.
  1314. |    Which results in configuration files that are veritable nightmares
  1315. |    to maintain.  And that many sendmail.cf files depend on out-of-date
  1316. |    standards for different transports, rather than trying to unify
  1317. |    them (as in RFC976).
  1318.  
  1319. |    Indeed, while common wisdom and practice mandates that MTAs don't
  1320. |    rewrite headers, sendmail makes it extremely difficult to *not*
  1321. |    rewrite headers.  Which results in many major systems attempting to
  1322. |    "be nice", yet, totally scramble return addresses and the like.
  1323.  
  1324.     There are several different sendmail lineages in the world but they
  1325.     seem to be coming together now with Eric Allman's work creating
  1326.     sendmail V8.x.  Sendmail V8.1 was shipped with BSD 4.4 UNIX.  V8.2
  1327. |    and above (available from ftp.cs.berkeley.edu) is the latest.  V8.6.6
  1328.     is now current.  Another solid "modern" version is UIUC IDA version 5.65c
  1329.     (5.65d in alpha test), from ftp.uu.net or uxc.cso.uiuc.edu.  This version
  1330.     has been pretty stable since 1991.  Paul Pomes, <Paul-Pomes@uiuc.edu>,
  1331.     is controlling the IDA Sendmail releases.
  1332.  
  1333.     If you want to use sendmail, it is strongly recommended that you
  1334.     obtain the UIUC IDA or sendmail 8.6+ versions.  They are much
  1335.     more likely to do the right things with mail coming from, or
  1336.     ultimately going to, UUCP sites and is much easier to maintain.
  1337.     IDA sendmail can handle pathalias-style UUCP routing quite well.
  1338.     
  1339. |    Another point to remember is that sendmail, historically, has been
  1340. |    where a large number of severe security holes have been found.  From
  1341. |    the infamous RTM Internet Worm, to the two latest ones "CERT"d in
  1342. |    the past 6 months.  Indeed, if your application is security-critical,
  1343. |    you should *not* use sendmail on your security-critical systems, such
  1344. |    as your firewalls.  Theoretically, all of these problems have been
  1345. |    removed from sendmail 8.6.5 or later, but, there's bound to be more
  1346. |    found.  While some of this can be due to the much larger installed
  1347. |    base of sendmail, other mailers with improved function partitioning
  1348. |    (such as the channel-oriented MMDF or PP) will usually be inherently
  1349. |    more secure.
  1350.  
  1351. |    I am being harsh on sendmail - sendmail programming is, after all, a
  1352. |    good source of revenue for consultants ;-)  But, if you obtain a good
  1353. |    configuration (like the aforementioned HPUX version), or are willing
  1354. |    to spend the time to learn it, sendmail will do what you want.
  1355. |    Well.  IDA or 8.x sendmail is STRONGLY recommended.  Don't, however,
  1356. |    even think of playing with the configuration files without a copy of the
  1357. |    Sendmail book by Costales, Allman and Rickert mentioned in the
  1358. |    book list above.  It is *absolutely* essential.
  1359.  
  1360.     Sendmail is discussed in comp.mail.sendmail.
  1361.  
  1362.     EASE version 3.5 was posted in volume 25 of comp.sources.unix and
  1363.     is available from wuarchive.wustl.edu [128.252.135.4] (directory
  1364.     /usenet/comp.sources.unix/volume25/ease) and many other c.s.u
  1365.     archives. 
  1366.  
  1367. ZMailer: Author Rayan Zachariassen* <rayan@cs.toronto.edu>
  1368.  
  1369.     ZMailer is intended for gateways or mail servers or other large site
  1370.     environments that have extreme demands on the abilities of the mailer.
  1371.  
  1372.     Code and Design features:
  1373.  
  1374.     + Strong limits on host impact.
  1375.     + Secure design (and hopefully implementation).
  1376.     + Natural fit for client/server environments.
  1377.     + Extremely customizable configuration mechanism.
  1378.     + Flexible database interface with support for: sorted files, unsorted
  1379.       files, dbm, ndbm, gdbm, nis (yellow pages), dns (BIND resolver),
  1380.       /etc/hosts file, and in-core data.
  1381.     + Efficient message queue management.
  1382.     + Fast binary-transparent SMTP server and client.
  1383.     + Low-technology implementation.
  1384.  
  1385.     Default configuration file features:
  1386.  
  1387.     + Default configuration will work for most sites.
  1388.     + Network protocol support for: smtp, uucp, bitnet, mail to news.
  1389.     + An easy way of overriding any external routing information.
  1390.     + Automatic handling of mailing lists.
  1391.  
  1392.     It is available by anonymous FTP from ftp.cs.toronto.edu:/pub/zmailer.tar.Z
  1393.     or ftp.cs.toronto.edu:/distrib/zmailer.tar.Z.
  1394.  
  1395. MMDF: [reviewed by I.Sparry@gdt.bath.ac.uk]
  1396.  
  1397.     MMDF is a MTA. It works on the principle that you have communications
  1398.     channels, both incoming and outgoing, and it arranges for messages to
  1399.     pass between them.
  1400.  
  1401.     Strong points include:
  1402.     * Ability to turn up and down debugging level on the fly
  1403.     * Very strong on authentication, and permission checking.
  1404.     * Can block mail based on who it came from, how it got there,
  1405.       who it is going to.
  1406.  
  1407.     It is older than sendmail, simpler than sendmail, and it is a great
  1408.     pity that it was not shipped as standard instead of sendmail.
  1409.  
  1410. |    [MMDF is standard on some systems - primarily SCO UNIX and Xenix.]
  1411.  
  1412.     It has one major advantage to people in the UK, in that it knows how to
  1413.     handle mail addresses in our 'correct' format (Most significant part first,
  1414.     e.g. net.uu.uunet), as well as the thing the rest of the world uses :-) :-)
  1415.  
  1416. |    A mailing list for MMDF discussion is at mmdf2@a.cs.okstate.edu
  1417. |    requests for addition to the list to mmdf2-request@a.cs.okstate.edu.
  1418. |    The most recent release of MMDF is available for anonymous FTP from
  1419. |    a.cs.okstate.edu:/pub/mmdf-2.43.tar.Z.
  1420.  
  1421. PP: Author University College London
  1422.  
  1423.     PP is a Message Transfer Agent, intended for high volume message
  1424.     switching, protocol conversion, and format conversion. It is targeted for
  1425.     use in an operational environment, but may also be useful for investigating
  1426.     Message related applications. Good management features are a major
  1427.     aspect of this system. PP supports the 1984 and 1988 versions of the
  1428.     CCITT X.400 / ISO 10021 services and protocols. Many existing RFC 822
  1429.     based protocols are supported, along with RFC 1148 conversion to X.400.
  1430.     PP is an appropriate replacement for MMDF or Sendmail, and also supports
  1431.     SMTP and UUCP mail.
  1432.  
  1433.     For more information contact: support@xtel.co.uk or xtel@cs.nott.ac.uk
  1434.     The latest version is PP-6.0, which was posted in comp.sources.misc,
  1435.     volume 27.
  1436.  
  1437. |    [Ed note:]
  1438. |    PP is usually used in combination with the ISODE package, which
  1439. |    also provides copious documentation for PP.  PP itself is
  1440. |    "freeware", but ISODE and the PP documentation is not - site
  1441. |    licenses are rather pricy.  PP is *very* large, and has quite a
  1442. |    number of more esoteric functions, such as FAX transmission using
  1443. |    the appropriate modems.  PP is ideal for large organizations with
  1444. |    demanding email requirements (eg: 100s of machines and 1000s of
  1445. |    users), where PP would be used as "backbone mail servers", and something
  1446. |    simpler on the "client" computers.  It does have _substantial_
  1447. |    learning and support requirements, and is *not* suitable for smaller
  1448. |    installations.  It does, however, shine in large production environments,
  1449. |    where policy-based routing, high levels of security, or extensive
  1450. |    gatewaying to different transports is required.
  1451.  
  1452. SVR4 mail: Author AT&T (description written by Tony Hansen,
  1453.     hansen@pegasus.att.com)
  1454.  
  1455.     The System V Release 4 mail system is a domain-capable mail router and
  1456.     delivery program that works in the UUCP zone and on the Internet and
  1457.     that is capable of gatewaying between the two.
  1458.  
  1459.     SVR4 mail supports SMTP, UUCP mail, alias files, forwarding files,
  1460.     mailing list directories, /etc/hosts files, the domain name system, and
  1461.     can also query uucp for neighboring sites, automatically.  (System V
  1462.     Release 4.1 also allows batching of multiple messages into a single UUCP
  1463.     transaction, and allows many addresses to be passed with a single
  1464.     message transfer, which can greatly decrease the traffic generated for
  1465.     large mailing lists.)  It is also very simple to configure with a
  1466.     reasonable certainty of correctness.
  1467.  
  1468.     It also supports mail-to-pipe and mail-to-file.
  1469.  
  1470.     SVR4 mail uses configuration files to resolve addresses based on their
  1471.     syntax, somewhat similar to sendmail, but using regular expressions and
  1472.     a more easily understood syntax. The set of methods that SVR4 mail uses
  1473.     for resolving local and remote addresses and hosts is configurable and
  1474.     extensible.
  1475.  
  1476.     Questions related to SVR4 mail are usually discussed in comp.mail.misc.
  1477.  
  1478.     SVR4 mail is a standard part of System V Release 4; unfortunately, some
  1479.     vendors have not realized that SVR4 mail is not the same mailer as the
  1480.     SVR3 mail system, and have replaced it with other inferior mail systems.
  1481.  
  1482. deliver: Author Chip Salzenberg* <chip@tct.com>
  1483.  
  1484.     Deliver allows any user to write a shell script that processes all
  1485.     incoming mail messages for that user.  The system administrator may
  1486.     also install scripts that process all messages by installing
  1487.     it as the Local Delivery Agent (lmail replacement).
  1488.  
  1489.     The output of a script is a list of mail addresses, files and programs
  1490.     that should receive the message.  It has access to each message as it
  1491.     is processed, so the action can be content dependent.  The script may
  1492.     also generate automatic replies, like the "vacation" program, or pass
  1493.     along a modified version of the original message.
  1494.  
  1495.     Deliver can be used to construct mail-based services (e.g. automatic
  1496.     mailing list maintenance).  It can also be used to filter mail
  1497.     automatically in prearranged ways (e.g. encryption and decryption,
  1498.     tossing junk mail, or vacation notices).
  1499.  
  1500.     Deliver was last posted in comp.sources.reviewed, volume 1.  The
  1501. |    current version is 2.1.10.
  1502.  
  1503. procmail: Author Stephen R. van den Berg*
  1504.                 <berg@pool.informatik.rwth-aachen.de>
  1505.  
  1506.     Can be used to create mail-servers, mailing lists, sort your incoming
  1507.     mail into separate folders/files (real convenient when subscribing to
  1508.     one or more mailing lists or for prioritising your mail), preprocess your
  1509.     mail, start any programs upon mail arrival (e.g. to generate different
  1510.     chimes on your workstation for different types of mail) or selectively
  1511.     forward certain incoming mail automatically to someone.
  1512.  
  1513.     Procmail can be used:
  1514.         - and installed by an unprivileged user (for himself only).
  1515.     - as a drop in replacement for the local delivery agent /bin/mail
  1516.       (with biff/comsat support).
  1517.     - as a general mailfilter for whole groups of messages (e.g. when
  1518.       called from within sendmail.cf rules).
  1519.  
  1520.     The accompanying formail program enables you to generate autoreplies,
  1521.     split up digests/mailboxes into the original messages, do some very
  1522.     simple header-munging/extraction, or force mail into mail-format (with
  1523.     leading From line).
  1524.  
  1525.     Also included is a comprehensive mailinglist/archive management system.
  1526.  
  1527.     Since procmail is written entirely in C, it poses a very low impact
  1528.     on your system's resources (under normal conditions, when you don't
  1529.     start other programs/scripts from within it).
  1530.  
  1531.     Procmail was designed to deliver the mail under the worst conditions
  1532.     (file system full, out of swap space, process table full, file table
  1533.     full, missing support files, unavailable executables; it all doesn't
  1534.     matter).  Should (in the unlikely event) procmail be unable to deliver
  1535.     your mail somewhere, the mail will bounce back to the sender or reenter
  1536.     the mailqueue (your choice).
  1537.  
  1538.     A recent version can be picked up at various comp.sources.misc archives.
  1539.     The latest version (2.90) can be obtained directly from the ftp-archive at:
  1540.         ftp.informatik.rwth-aachen.de (137.226.112.172)
  1541.         as zipped tar file:             pub/unix/procmail.tar.zip       <152KB
  1542.         as compressed tar file:         pub/unix/procmail.tar.Z         <216KB
  1543.         in compressed shar format:      pub/unix/procmail.??.Z        11 parts
  1544.  
  1545.     [Ed note: I had noted reported difficulties in integrating procmail
  1546.     with System V and/or smail 2.5.  The 2.70 version of Procmail eliminated
  1547.     these difficulties.]
  1548.  
  1549. mailagent: Author Raphael Manfredi* <ram@acri.fr>
  1550.  
  1551. |    The mailagent is yet another mail filter, written in perl, which will let
  1552. |    you do anything with your mail. It has all the features you may expect from
  1553. |    a filter: mailing lists sorting, forwarding to MTA or to inews, pre-processing
  1554. |    of message before saving into folder, vacation mode, etc... It was initially
  1555. |    written as an ELM-filter replacement, but has now enough power to also
  1556. |    supplant MMDF's .maildelivery. There is also a support for @SH mail hooks,
  1557. |    which allows you to automatically distribute patches or software via command
  1558. |    mails.
  1559.  
  1560. |    The mailagent was designed to make mail filtering as easy as it can be. It
  1561. |    is highly configurable and fairly complete. Rules are specified in a lex-like
  1562. |    style, with the full power of perl's regular expressions. The automaton
  1563. |    supports the notion of mode, and header selection has many magic features
  1564. |    built-in, to ease the rule writing process.
  1565.  
  1566. |    To give a simple example, the two following rules:
  1567.  
  1568. |        Subject: /cron output/    { SAVE cron };
  1569. |        To Cc: dist-users        { FORWARD friend@acri.fr; LEAVE };
  1570.  
  1571. |    would save in a folder 'cron' all cron-related mail, and forward mail
  1572. |    from the dist-users mailing list to a friend, leaving a copy in the system
  1573. |    mailbox for immediate processing...
  1574.  
  1575. |    It supports delivery to plain UNIX folder, to MMDF-style folders or to
  1576. |    MH folders with built-in unseen sequence updates, as specified in your
  1577. |    ~/.mh_profile. It may therefore replace MH's slocal program as well.
  1578.  
  1579. |    Mailagent can be dynamically extended (that's the advantage of having it
  1580. |    written in perl) with new filtering commands that will behave exactly
  1581. |    like built-in ones; this operation being done without changing a single
  1582. |    source line in the program itself, of course. It also provides a generic
  1583. |    mail server layer, where user-defined commands can be easily plugged in,
  1584. |    mailagent taking care of the lower-level stuff.
  1585.  
  1586. |    The distribution comes with a set of examples, an exhaustive test suite,
  1587. |    and naturally a detailed manual page. It should be noted that the mailagent
  1588. |    will work even if your system administrator forbids "| programs" hooks in
  1589. |    the ~/.forward, provided you have access to some sort of cron daemon.
  1590.  
  1591. |    The mailagent program is available from any comp.source.misc archive and
  1592. |    thanks to Christophe Wolfhugel <Christophe.Wolfhugel@grasp.insa-lyon.fr>,
  1593. |    from ftp.univ-lyon1.fr (134.214.100.6) under /pub/unix/mail/tools, file
  1594. |    mailagent-3.0.tar.gz
  1595.  
  1596. pathalias: Author Peter Honeyman
  1597.  
  1598.     Pathalias reads the UUCP Map Project maps (they need to be extracted
  1599.     from the postings first) and constructs a database containing the
  1600.     minimum cost route to any machine in the maps.  This database can
  1601.     then be used with any mailer that knows how to search the database
  1602.     (eg: smail 2.5, Zmailer?, and some versions of sendmail.  Smail 3
  1603.     comes bundled with pathalias).
  1604.  
  1605.     There were previous versions of this program.  You must use
  1606.     pathalias version 10 (latest version), because some map format
  1607.     changes have been made and only pathalias 10 can parse them.
  1608.     If your pathalias doesn't give a syntax error on:
  1609.     echo "file {foo}" | pathalias
  1610.     It's the new one.
  1611.  
  1612.     There were other route-generating programs, but all (as far as
  1613.     I know) are very obsolete, and none run as fast as pathalias
  1614.     (still, which can be rather hard on machines with smallish virtual
  1615.     memory or RAM capacities).
  1616.  
  1617.     pathalias 10 is available from comp.sources.unix archives,
  1618.     volume 22.  A patch was just released in comp.sources.unix
  1619.     (vol 25) that addresses an oddity when used with smail (not that
  1620.     I've ever noticed it).
  1621.  
  1622. uuhosts: Author John Quarterman
  1623.  
  1624.     The "defacto" standard UUCP Map Project map unpacker.  Includes
  1625.     a program to arbitrarily view individual map entries.  Uuhosts
  1626.     implements trojan horse/virus security by running under
  1627.     a "chroot()" system call.  Uuhosts does not appear to be
  1628.     actively maintained, and the last versions that I have inspected
  1629.     were unable to easily compress the maps (a full set of maps
  1630.     is >6000 blocks), had no provision for automatically
  1631.     running pathalias, and will not work with the newest version
  1632.     of cnews.  Further, uuhost's header checking is so picky
  1633.     that the slightest change in the map format will cause
  1634.     uuhosts to reject map updates.
  1635.  
  1636.     Use of uuhosts now will require some minor hacking - and this
  1637.     hacking will stretch your knowledge of Bourne shell programming.
  1638.  
  1639.     The last edition, "uuhost4" (version 1.69) appears to have
  1640.     been posted in comp.sources.unix in volume 3, 1986.
  1641.  
  1642.     Do not be confused by Jan-Piet Mons "uuhost 2.0" program posted
  1643.     in alt.sources.  This is not a map unpacker.  It is just
  1644.     a map viewer, and is a subset of the real uuhosts.
  1645.  
  1646. unpackmaps: Author Chris Lewis* <clewis@ferret.ocunix.on.ca>
  1647.  
  1648.     Unpackmaps is a superset of the functionality of uuhosts.
  1649.     It obtains its security by doing the map unpacking with
  1650.     a specialized parser that knows the map article format
  1651.     rather than invoking a shar/shell.  Compression and pathalias
  1652.     invocation is automatic, correctly takes into account
  1653.     the change date of local configuration files, and will
  1654.     work with the latest Cnews.
  1655.  
  1656.     The newest version of unpackmaps, version 4.1, has been
  1657.     released to comp.sources.misc, and appeared in volume 34.
  1658.     This version is entirely written in C, is considerably faster
  1659.     than unpackmaps 3 or uuhosts, has considerably more features,
  1660.     and will work with Brian Reids PostScript net maps too.
  1661. -- 
  1662. Chris Lewis: _Una confibula non sat est_
  1663. Phone: Canada 613 832-0541  Ferret list: ferret-request@ferret.ocunix.on.ca
  1664. Latest psroff: FTP://ftp.uunet.ca/distrib/chris_lewis/psroff3.0pl17/*
  1665. Latest hp2pbm: FTP://ftp.uunet.ca/distrib/chris_lewis/hp2pbm/*
  1666.