Return to UNIX Info for Net Administration page.
From news.admin.misc Fri Sep 15 03:11:12 1995
Subject: UNIX Email Software Survey FAQ [Part 2 of 3]
Date: Thu, 14 Sep 1995 13:20:23 GMT
Archive-name: mail/setup/unix/part 2 of 2
Last-modified: Thu Jan 26 01:28:55 EST 1995
UNIX EMail Software - a Survey
[and a host of others - thanks]
Copyright 1991, 1992, 1993, Chris Lewis
Redistribution for profit, or in altered content/format prohibited without permission of the author.
Redistribution via printed book or CDROM expressly prohibited without consent of the author.
Any other redistribution must include this copyright notice and attribution.
~Subject: Configuration Issues:
What you need for email connectivity is determined by:
1 What networks you intend to connect to.
The Internet (hence SMTP)? UUCP sites? X.400?
Bitnet? Others? Combinations?
2 What links you have or are willing to install Internet T1? T2? UUCP? Other? [Details on how to make your connections is beyond the scope of this FAQ, but can usually be found out from the provider (other end) of the link]
3 what user interface you want to use. This is largely an independent issue, so consult the Specific Package Reviews directly.
~Subject: Recommended MTA Configurations:
These configurations are based upon my own experience, and the experience of others. Careful installation of any of these configurations will result in a solid, reliable mail system that respects the appropriate "do's and don'ts". Each configuration represents a compromise of ease of installation and maintenance versus sophistication and capabilities.
One thing you should consider is what you already have on your system. You will invariably have "binmail", and will have a good chance at already having sendmail. Some systems come with smail (if 2.3, junk it) The configurations shown below are *minimal* configurations, so you should consider whether you want to use what you already have or not.
Scenario 1: Only UUCP connections.
Smail 2.5. If you want to set up a routing database of your own, you will also need pathalias, and unpackmaps or uuhosts. Instead, though, you can configure smail 2.5 to smart-host most destinations to a nearby friendly site who'll do your routing for you without having to run the routing software. Note further, that you can run pathalias on just a subset of the full set of maps. [Unpackmaps makes this particularly easy to do]
Smail 2.5, as shipped, does not support mail-to-pipeline or mail-to-file aliasing. If you need these, at a minimum, you should obtain lmail. If you intend more than casual use of these features, it is recommended that you obtain deliver or procmail instead of lmail.
Even if you have sendmail already, you can integrate smail 2.5 with it to do your UUCP routing. (though, some later versions of sendmail can do routing themselves)
If you're a little more demanding of your mail connections, smail 3 is also a good choice, and works particularly well for systems that are UUCP connected to Internet sites.
Scenario 2: SMTP connections (optionally, some UUCP connections too).
Generally speaking, sendmail will do this for you and you have a good chance to have it already. However, for the novice, it is recommended that smail 3 be used instead [see review of sendmail below]. Smail 3 includes all of the routing software and can do mail-to-pipeline and mail-to-file, so none of the auxiliary programs mentioned in scenario 1 are necessary.
Most sendmails don't include UUCP routing mechanisms, so you would need pathalias and unpackmaps or uuhosts if you wish to set up a UUCP routing database. Further, most sendmails don't know how to query a pathalias database directly, so you may have to hack your own path lookup program into the sendmail.cf (smail 2.5 can be used for this purpose provided that you will have a UUCP link to the outside world)
Both MMDF and PP can also be used, but PP is usually overkill.
Deliver or procmail are still quite useful in this configuration for extended alias facilities.
Scenario 3: Connections to other networks (optionally including SMTP or UUCP), or very high loading.
Your best bets are MMDF, PP or zmailer.
You can implement other network interfaces with sendmail, but not only will you probably have to roll your own, but sendmail can't cope with high loading very well. Ditto smail 3.
There are other configurations. See the Package Reviews to determine which packages are appropriate.
~Subject: Package Reviews
Honesty requires me to point out which software packages were reviewed by their author (including me ;-). I do so by appending a "*" to the name of the author. In some cases, the material has been cribbed from FAQ's or general information blurbs.
It is worth noting, though, that most of these packages are well known, and have been in operation at many sites for periods of a year or more. These packages do their job well, and have been extensively thrashed out in the best debugging laboratory in the universe (Usenet ;-)
A few packages have been mentioned prior to their release. (unpackmaps 4, the occasional beta version). It is recommended that these versions be avoided by novices until they have had a chance to settle for a little while. This FAQ will note when such software seems (according to rumour *I* hear) to be stable enough for general use.
Some of these packages are capable, by various bits of hackery, of doing a lot more than is claimed for them. But I refrain on telling you how to "take the covers off". Given the intended audience, that would be tantamount to trying to teach preschoolers do-it-yourself brain surgery. Please don't take this as condescending - I've been working on/in/with email systems for over 12 years and I *still* won't play with (as just one example) sendmail.cf's.
Therefore, I restrict myself largely to "out-of-the-box" functionality, "fill-in-the-blank" configurability, and normal documented installation procedures. Beyond that, you're on your own.
binmail is usually really called "mail". On System V prior to Release 4, it is a really simple UA that does dual duty as the TA. It's pretty awful because it doesn't know how to set up headers properly, doesn't even know what a "Subject:" line is, and there's no way to do any kind of aliases.
On BSD, binmail invokes sendmail to do the MTA function. On System V prior to Release 4, you really do want to replace binmail's MTA functionality with something else. However, you should not replace it in its "mail" (UA) functionality, because many system-level administration mechanisms will break. Any new UA should be installed as a different name than "mail".
Beginning with System V Release 4, "binmail"'s transfer agent capabilities were considerably enhanced to have similar capabilities to Smail 3 and sendmail. There is usually no need to replace it with another mail agent. (See SVR4 mail discussion below)
Binmail stores mail in "mbox" format.
binmail's TA functionality is implemented by linking mail to rmail. It's rmail that you'd want to replace with smail 2.5 etc.
The original BSD UA. It can support local profiles, aliases, folders, header previewing, out-going mail recording and all sorts of good stuff. An "okay" UA. Available from BSD "freed-sources" archives.
Mail stores mail in "mbox" format.
AT&T's answer to BSD "Mail", from which it is descended. Some versions, such as the 3b1 one, should be avoided because of a buggy port. Not available in source form (it's proprietary but ubiquitous enough to be mentioned here).
Mailx stores mail in "mbox" format.
mush: author Dan Heller*
The "Mail User's Shell" is a "shell" for mail users. That is, it has its own environment where you can configure not only the user interface, but the actual internal mechanisms. Internally, mush has a csh-like scripting language, altho it's not as powerful as csh. It has command-line aliases, file completion, if-else state- ments, command piping, and so on. Because you can build your own commands, you can virtually build your own library of email features.
Mush has two tty-based interfaces: the standard tty-mode (ala BSD Mail or sys-v mailx) and the fullscreen/curses mode (ala vi, emacs or even Elm). You can set up key bindings that execute one or more mush commands, personalized commands or even UNIX commands. You can even emulate keyboard input with keyboard macros and mappings.
Mush also has a SunView interface that is more powerful than Sun's Mailtool, yet backwards compatible with most versions. Most sunview users (if there are any left these days) prefer MushView over Mailtool.
The current version of Mush is 7.2.3, last posted in comp.sources.misc volume 18 (with subsequent patches). All three interfaces are available in one runtime binary. Except for the MushView interface (which is only available on for suns), Mush is portable to everything that runs UNIX. There is also a DOS port available for PCs and can run on most 286 machines. An older version of Mush (6.5) can run on as little as 640 of RAM. (Mush-PC is typically used with UUPC.)
The "next generation" of Mush is a commercial product called Z-Mail from Z-Code Software (mail firstname.lastname@example.org for details). All aspects of Mush are retained, yet it has grown to be far more powerful. It runs under X windows with either a Motif or Open Look interface and also supports multi-media, user "functions" and a suite of new features.
Mush stores its messages in "mbox" format, or MMDF format if you're using MMDF as your MTA.
The newsgroup comp.mail.mush is dedicated to it.
[Note: Z-Mail is not related at all to Zmailer. Zmailer is a MTA]
elm: coordinator Syd Weinstein* <syd@DSI.COM>
(cribbed from comp.mail.elm FAQ)
Elm is designed to run with "sendmail" or "/bin/rmail" (according to what's on your system) and is a full replacement of programs like "/bin/mail" and "mailx". The system is more than just a single program, however, and includes programs like "frm" to list a 'table of contents' of your mail, "printmail" to quickly paginate mail files (to allow 'clean' printouts), and "autoreply", a systemwide daemon that can autoanswer mail for people while they're on vacation without having multiple copies spawned on the system.
The most significant difference between Elm and most other mail systems is that Elm is screen-oriented. Upon further use, however, users will find that Elm is also quite a bit easier to use, and quite a bit more "intelligent" about sending mail and so on.
Current release is Elm 2.4 PL24.. Information on access is
available from the server at DSI.COM:
send mail to archive-server@DSI.COM
send elm index
[Ed: elm is particularly good for novices. The only drawback that I've heard is that elm is a bit less user configurable than, say, mush]
MM: Contact Joseph Brennan* <email@example.com>
Columbia University in the City of New York
(cribbed from MM man page.)
mm is a powerful electronic mail system which allows you to send, read, edit and manage messages quickly and easily. It is designed to have the same interface as the MM program written and developed for DEC20s over a period of many years.
mm was written using the CCMD package developed at Columbia. Thus, it has copious internal help, completion of partially typed commands on use of the TAB key, and help on partial commands when ? is typed.
mm can read several mail-file formats. Its default is mbox, the same format used by unix mail. It also can read babyl, used by emacs rmail, and mtxt and MH. It can copy messages from one file type to another.
MM is a Freeware MUA copyright by Columbia University (as is this description).
MM is available by anonymous ftp from cunixf.cc.columbia.edu, directory mm. The file mm-intro.txt there is a longer description of how it was developed.
[Ed: MM also appears to be a good UA for novices. From the examples in the manual page, it handholds extensively and is not screen oriented.]
MH: Maintainer John Romine <Bug-MH@ics.uci.edu>
The big difference between MH and most other "mail user agents" is that you can use MH from a UNIX shell prompt. In MH, each command is a separate program, and the shell is used as an interpreter. So, all the power of UNIX shells (pipes, redirection, history, aliases, and so on) works with MH--you don't have to learn a new interface. other mail agents have their own command interpreter for their individual mail commands (although the mush mail agent simulates a UNIX shell). Mail messages are stored in individual files.
The current version of MH is 6.8.3 and supports MIME. MH comes standard with Ultrix 4.0 and later, and AIX 3.1 and later. via anonymous ftp:
ftp.ics.uci.edu [22.214.171.124] pub/mh/mh-6.8.tar.Z 1.6MB
louie.udel.edu [126.96.36.199] portal/mh-6.8.tar.Z 1.6MB
comp.mail.mh discusses MH, and contains a FAQ article.
Jerry Peek wrote a book about MH called "MH & xmh: E-mail for Users & Programmers", ISBN 1-56592-027-9, published by O'Reilly and Associates, second edition, September 1992.
XMH: extracted from the manual page
The xmh program provides a graphical user interface to the MH Message Handling System. To actually do things with your mail, it makes calls to the MH package. Electronic mail messages may be composed, sent, received, replied to, for- warded, sorted, and stored in folders. xmh provides exten- sive mechanism for customization of the user interface.
xmh is part of the standard X distribution from the X Consortium.
EXMH: Author Brent Welch* <firstname.lastname@example.org>
exmh is an X interface to the MH mail system. It is written in John Ousterhout's Tcl/Tk language system and requires that you have both Tcl/Tk and MH installed. If you have metamail installed, exmh supports MIME.
As well as providing the usual layer on top of MH commands, exmh has a number of other features:
MIME support! Displays richtext and enriched directly. Parses multipart messages. Displays hot buttons that invoke external viewers (metamail) for things not directly supported. Built-in editor allows simple composition of text/enriched format.
Color feedback in the scan listing so you can easily identify unseen messages (blue), the current message (red), deleted messages (gray background), and moved messages (yellow background). Xresources control these color choices.
A folder display with one label per folder. Color highlights indicate the current folder (red), folders with unseen messages in them (blue), and the target folder for moves (yellow background). Nested folders are highlighted by a shadow box. A cache of recently visted folder buttons is also maintained. Monochrome highlights are reverse video for the current folder, bold box for folders with unseen messages, and stippled box for the target of move operations.
Clever scan caching. MH users know that scan is slow, so exmh tries hard to cache the current state of the folder to avoid scanning. Moves and deletes within exmh do not invalidate the cache, and background incs that add new messages are handled by merging them into the scan listing. The scan cache is compatible with xmh.
Numerous other features, such as "facesaver" display, backgrounds, dialog-box interface to MH "pick", folder searching and listing, designed for inclusion of user "hooks" and interfaces etc.
Ftp'able from harbor.ecn.purdue.edu:/pub/tcl/code/exmh-1.3beta.tar.gz
GNU Emacs Rmail:
Rmail is an Emacs subsystem for reading and disposing of mail. Rmail stores mail messages in Rmail files in BABYL format (originally used under the ITS operating system), although it can incorporate new mail from MMDF and Unix format files, or mixed-format files. Reading the messages in an Rmail file is done in a special major mode, Rmail mode, which redefines most letters to run commands for managing mail.
Rmail can do the standard things such as displaying, deleting, filing, or replying to messages. Replying uses another Emacs subsystem, Mail mode. Messages can be saved in either BABYL or Unix format. Rmail maintains per-message attributes and user-defined labels. Rmail can burst message digests.
VM: Author Kyle Jones* <email@example.com>
VM (View Mail) is a GNU Emacs subsystem that allows UNIX mail to be read and disposed of within Emacs. Commands exist to do the normal things expected of a mail user agent, such as generating replies, saving messages to folders, deleting messages and so on. There are other more advanced commands that do tasks like bursting and creating digests, message forwarding, and organizing message presentation according to various criteria.
The current version of VM is VM 4.41.
VM is discussed in gnu.emacs.vm.info, or by mailing list by sending an e-mail request to firstname.lastname@example.org.
MH-E: Maintainer: Stephen Gildea <email@example.com>
MH-E is an interface to MH from within GNU Emacs. It helps if MH was compiled with the MHE compiler flag. MH-E is distributed with both GNU Emacs and MH. Choose the later version.
C-Client: Author Mark Crispin <firstname.lastname@example.org>
Software writers only:
C-client is a general library useful for creating MUA's. It provides a high level logical interface for retrieving and manipulating mail messages. It supports the latest draft of MIME (proposed Internet standard for multipart, multimedia, typed electronic mail). It is driver based, and easily ported to new platforms and MTA's, already supports BSD, SysV, DOS, Macintosh and TOPS-20(!), and supports present mail and mailbox formats.
Just the thing if you want to write a new MUA.
Contact the author for more details.
Metamail: Author N. Borenstein
[Described by Paul Eggert, email@example.com]
Metamail is a software implementation of Mime, designed for easy integration with traditional mail-reading interfaces -- typically, users do not invoke metamail directly. Ideally, extending the local email or news system to handle a new media format is a simple matter of adding a line to a mailcap file. Mailcap files are described in RFC 1343: N Borenstein, ``A user agent configuration mechanism for multimedia mail format information'' (June 1992). The source code for metamail can be found in ftp.uu.net:mail/metamail/mm.tar.Z. To join its mailing list, write firstname.lastname@example.org.
MailManager: Author Mark Crispin <email@example.com>
A MUA implemented using C-Client for NeXT computers.
Pine: Authors Lundblade, Seibel, and Crispin <firstname.lastname@example.org>
Pine is a mailer developed by the University of Washington Office of Computing and Communications. It has been designed for ease-of-use and with the novice computer user in mind. It is based on Internet mail protocols (e.g. RFC-822, SMTP, IMAP, and MIME) and currently runs on a variety of UNIX platforms, and a version is apparently available for MSDOS.
The guiding principles for achieving ease-of-use in Pine were: careful limitation of features, one-character mnemonic commands, always-present command menus, immediate user feedback, and high tolerance for user mistakes. It is intended that Pine can be learned by exploration rather than reading manuals.
A stand-alone version of Pico, Pine's message composition editor, is also included. It is a very simple and easy to use text editor with text justification and a spelling checker.
- - Mail index showing a message summary which includes the status, sender, size, date and subject of messages.
- - View and process mail with the following commands: forward, reply, save, export, print, delete, capture address and search.
- - Address book for saving long complex addresses and personal distribution lists under a nickname.
- - Multiple folders and folder management screen for filing messages.
- - Message composer with easy-to-use editor and spelling checker. The message composer also assists entering and formatting addresses and provides direct access to the address book.
- - Online help specific to each screen and context.
- - Supports access to remote mail repositories via the IMAP2 protocol defined in RFC-1176.
- - Soon to support multi-part mail conforming to proposed MIME Internet standard, allowing sending of sounds, graphics such as GIF and TIFF files, and binary files such as spreadsheets.
Pine, including source code, is freely available via anonymous FTP from ftp.cac.washington.edu on the Internet. Other provisions for distribution have not been made. From the Internet, you may try out Pine and leave comments by telneting to "demo.cac.washington.edu" and logging in as "pinedemo". To join the Pine mailing list for announcements send a email request to "email@example.com" with body "subscribe pine-info".
Pine is very portable and runs on a variety of UNIX machines including DECstations, NeXTs, VAX's and Suns. Pine was originally based on Elm, but it has evolved much since, ("Pine Is No-longer Elm").
For further information send e-mail to firstname.lastname@example.org. Pine is the work of Mike Siebel, Mark Crispin, and Laurence Lundblade at the University of Washington.
Ream: Author: Paul Dourish* <email@example.com>
Ream is a curses-based mail user agent for a variety of UNIX flavours; at one time or another, it's run on everything from a PC running Linux to a Cray Y/MP running UNICOS. It was originally written at the University of Edinburgh, and has spread not least through the subsequent geographical distribution of alumni. It remains minimally supported by its author (Paul Dourish <firstname.lastname@example.org>).
Ream is similar to elm in a number of ways, but considerably smaller and with a stronger separation between MUA and MTA behaviours. It runs over sendmail, mmdf and PP. It is available by anonymous ftp from parcftp.xerox.com, in pub/europarc/reamXXX.tar.Z, where XXX is a slowly incrementing version number.
XLView: Author: Several. Mike Macgirvin* <email@example.com>
Current version 1.1 (Developer Release). XLView (previously known as "Ximap") is an X based mail reader using the IMAP (IMAP2bis) protocol, for managing complex mail tasks. It utilizes the X window system to allow independant processing of multiple mailboxes (even on multiple servers) simultaneously. Each "read" and "compose" process is handled in an independant window as well. It handles many complex MIME messages with the help of external multi-media handlers based partially on "metamail", and include facilities for file attachments of several common types. It includes an address book with insert completion abilities and for maintaining addresses. Of course it has the normal move/copy/save/reply/forward/print etc., functions one would expect and text may be cut and pasted from other open X sessions. The most powerful feature of the latest release is the "Logical Viewer" which allows one to create rule based sorting of their mailbox based on addresses, dates, contents, message flags and other criteria. Each existing message (and each new message) is evaluated and stored in the appropriate logical view, which may be opened as if it were a separate mailbox (but all the while it only represents a different ``view'' of your system mailbox). Each mailbox or saved folder may have independant rulesets. Status changes also are evaluated as they occur and the rules applied accordingly. The rule language is powerful, yet easy to grasp; i.e.
FROM firstname.lastname@example.org OR jim SINCE YESTERDAY AND UNSEEN
Currently tested with SunOS4.1.x and Ultrix running X11R5. Several alternate system ports including SVR4 are available.
Principal Authors: Kevin Brock, Bill Yeager and Mike Macgirvin at the Center for advanced Medical Informatics at Stanford.
Z-Mail: Z-code Software Corp, Barbara Tallent* <email@example.com>
Z-Mail, a UNIX World Magazine "Product of the Year" winner for 1991, is a complete electronic mail system for workstations, PCs, ASCII terminals and Macs. Z-Mail provides Motif and Open Look graphical user interfaces, as well as two character modes. The software has been ported to nearly every system that runs UNIX, and it works with all standard UNIX mail transport agents including sendmail, binmail, smail, MMDF and X.400 gateways. Z-Mail can replace or coexist with standard mail user agents on the system, including BSD Mail, AT&T mailx, Sun Mail Tool, Elm or Mush. Most anyone can use Z-Mail "off the shelf" and immediately benefit from its simple interface and advanced features.
The 'fullscreen' character mode has become its own product, Z-Mail Lite. It's available immediately.
Z-Mail also includes Z-Script, a powerful scripting language that enables users to customize and extend Z-Mail's capabilities. Z-Mail's multi-media capabilities allow easy integration with best-of-class products including spreadsheets, desk-top publishing, graphics, fax, voice, and video. For example, when users receive a spreadsheet file, Z-Mail can be configured to automatically launch the associated application and load the the attachment automatically and transparently to the user. Z-Mail understands MIME-format documents and is also compatible with Sun's multimedia Mailtool.
For more information on Z-Mail, contact:
Z-Code Software Division
Network Computing Devices, Inc.
101 Rowland Way, Suite 300
Novato, CA 94945
tel: (415) 898-8649
fax: (415) 898-8299
You can obtain a demo copy of Z-Mail from ftp.z-code.ncd.com in the directory pub/z-code/zmail/3.2 for assorted UNIX versions. The file is named zm32.XXX.tar.Z where XXX is your type of machine. Windows and Macintosh versions are also available for FTP in the directories pub/z-code/zmail/zm-win and pub/z-code/zmail/zm-mac.
Contact <firstname.lastname@example.org> for an activation key after downloading your demo copy.
[As mentioned previously, Z-Mail is the commercial variant of mush. Ed]
Chris Lewis: _Una confibula non sat est_
Latest psroff: ftp://ftp.uunet.ca/distrib/chris_lewis/psroff3.0pl17/*
Latest hp2pbm: ftp://ftp.uunet.ca/distrib/chris_lewis/hp2pbm/*
NNTP AUTHINFO GENERIC info: ftp://ftp.uunet.ca/distrib/chris_lewis/generic/