This section contains information related to user agents, which means the software the user sees and uses. This software relies on the transport agents mentioned above.
Mail user agents call out to some editor to assist composition of mail. Which editor is the default varies. Most of them respect a convention going back to Unix's early days; the contents of the environment variable VISUAL, if it exists, is taken as the name of your preferred editor. If VISUAL is not set, the variable EDITOR is checked.
Popular values for EDITOR include `vi' and `emacs'. But if you are, like me, the sort who always has an Emacs running, the most useful way to set EDITOR is to the value `emacsclient'. Use this with the following lines in your .emacs file:
(autoload 'server-edit "server" nil t) (server-edit)
The emacsclient program, when it runs, tries to establish communication with an Emacs instance you already have running and hand the mail message temporary file to that Emacs to be edited. The effect of this will be that when your mailer calls out for an editor, a mail composition window pops open inside your Emacs.
When you are ready to hand the file back to the mailer for sending, type C-x #. The mail buffer will leave your display and the emacsclient instance your mailer called will return, handing control back to the mailer.
It is possible to have more than one emacsclient instance open at once without confusing Emacs. However, calling up another Emacs while an emacsclient session is running can confuse emacsclient enough that it won't be able to find either instance afterwards. If this happens, shut down all your Emacsen and restart just one.
This is what I use and recommend. It is descended from elm and has similar commands by default, but is much more powerful and configurable. It can be a POP3 client, and includes excellent support for MIME and PGP. There is a Mutt home page at http://www.mutt.org.
Mutt respects the EDITOR/VISUAL convention.
Elm was the first modern, screen-oriented Unix mailer, but has been stagnant for years now and is being displaced by Mutt. Some versions of elm have POP3 support built in. For more information, see the elm sources and installation instructions in the Metalab mail user agents directory. Here are a few points that occasionally trip people up:
thumper.bellcore.com
and of course via "archie".
THIS IS NOT A BUG IN ELM. It's an error in configuration of Elm by whomever you got your binary distribution of Elm from. Elm has an enhanced, and non-compatible, format for aliases. You need to ensure that the path Elm uses for aliases is different from the path sendmail/smail uses. From the volume of reports of this problem, it's apparent that at least one major distribution 'on the street' has in the past been misconfigured. The current Slackware does it correctly.
Elm respects the EDITOR/VISUAL convention.
Pine is a user agent designed for novices; it includes news-reading capability and built-in support for the IMAP remote-mail protocol. A lot of people swear by it for new users. I find its impoverished command set, limited configurability and native editor hard to take. It has excellent built-in IMAP support, however. If you want to check it out, the distribution is available at http://www.washington.edu/pine.
Pine respects the EDITOR/VISUAL convention.
The Netscape browser has POP3 and IMAP remote-mail capability built into it, so it can be used as a mail user agent. I don't recommend this; it doesn't specialize in being an MUA, and therefore does not offer many of the services that real MUAs do (such as aliases and PGP handling).
Neetscape supplies its own mini-editor, the same one used throughout the browser (e.g. for text fields in forms).
Emacs has a mode called smail that can send mail, and another called rmail that can read mail. The smail mode can be quite useful, as you get to compose mail inside a full Emacs environment (but see also the discussion of emaclient elsewhere in this document).
The rmail mode, on the other hand, is not recommended. Every time you
run it, it converts your inbox to BABYL format; ordinary mail tools
will choke on that. (If this happens to you, do M-x unrmail
from the Emacs command line.)
There is a mailreader for emacs called `vm' that writes and reads standard V7 mailboxes. It is not distributed with GNU Emacs, but you can find its home page at http://www.wonderworks.com/vm/.
Emacs smail/rmail/vm do not respect the EDITOR/VISUAL convention. Instead, you use the Emacs they're embedded in.
If you simply type `mail' to the shell on a Linux or any other modern Unix, you will invoke some variant of the BSD Mail program. It has a line-oriented interface originally designed for use on TTYs. It is, at this point, only of historical interest.
BSD Mail invented the EDITOR/VISUAL convention.
The following also are known to run under Linux. Consult `archie' to find them...
I don't know enough about mh or mush to describe them in detail. They both have rather complex interfaces and are designed for sophisticated mail users.