A Mail User Agent (MUA) is an application
that is used to send and receive email. Furthermore, as email
“evolves” and becomes more complex,
MUA's are becoming increasingly powerful
in the way they interact with email; this gives users increased
functionality and flexibility. FreeBSD contains support for
numerous mail user agents, all of which can be easily installed
using the FreeBSD Ports Collection.
Users may choose between graphical email clients such as
evolution or
balsa, console based clients such
as mutt,
alpine or mail,
or the web interfaces used by some large organizations.
mail(1) is the default Mail User Agent (MUA) in FreeBSD. It is a console based MUA that offers all the basic functionality required to send and receive text-based email, though it is limited in interaction abilities with attachments and can only support local mailboxes.
Although mail does not natively support
interaction with POP or
IMAP servers, these mailboxes may be
downloaded to a local mbox file using an
application such as fetchmail,
which will be discussed later in this chapter (Section 29.11, “Using fetchmail”).
In order to send and receive email, run
mail:
% mailThe contents of the user mailbox in
/var/mail are
automatically read by the mail utility.
Should the mailbox be empty, the utility exits with a
message indicating that no mails could be found. Once the
mailbox has been read, the application interface is started,
and a list of messages will be displayed. Messages are
automatically numbered, as can be seen in the following
example:
Messages can now be read by using the t
mail command, suffixed by the message
number that should be displayed. In this example, we will
read the first email:
t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.As can be seen in the example above, the t key will cause the message to be displayed with full headers. To display the list of messages again, the h key should be used.
If the email requires a response, you may use
mail to reply, by using either the
R or r
mail keys. The R key
instructs mail to reply only to the sender
of the email, while r replies not only to
the sender, but also to other recipients of the message.
You may also suffix these commands with the mail number which
you would like make a reply to. Once this has been done, the
response should be entered, and the end of the message should
be marked by a single . on a new line. An
example can be seen below:
R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTIn order to send new email, the m key should be used, followed by the recipient email address. Multiple recipients may also be specified by separating each address with the , delimiter. The subject of the message may then be entered, followed by the message contents. The end of the message should be specified by putting a single . on a new line.
mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOTWhile inside the mail utility, the
? command may be used to display help at any
time, the mail(1) manual page should also be consulted
for more help with mail.
As previously mentioned, the mail(1) command was
not originally designed to handle attachments, and thus
deals with them very poorly. Newer MUAs
such as mutt handle attachments
in a much more intelligent way. But should you still wish
to use the mail command, the converters/mpack port may be of
considerable use.
mutt is a small yet very powerful Mail User Agent, with excellent features, just some of which include:
The ability to thread messages;
PGP support for digital signing and encryption of email;
MIME Support;
Maildir Support;
Highly customizable.
All of these features help to make mutt one of the most advanced mail user agents available. See http://www.mutt.org for more information on mutt.
mutt
may be installed using the mail/mutt port. After the
port has been installed, mutt can
be started by issuing the following command:
% muttmutt will automatically read
the contents of the user mailbox in /var/mail and display the
contents if applicable. If no mails are found in the user
mailbox, then mutt will wait for
commands from the user. The example below shows
mutt displaying a list of
messages:

In order to read an email, select it using the cursor keys and press the Enter key. An example of mutt displaying email can be seen below:

As with the mail(1) command, mutt allows users to reply only to the sender of the message as well as to all recipients. To reply only to the sender of the email, use the r keyboard shortcut. To send a group reply, which will be sent to the original sender as well as all the message recipients, use the g shortcut.
mutt makes use of the
vi(1) command as an editor for creating and replying
to emails. This may be customized by the user by creating
or editing their own .muttrc file in
their home directory and setting the
editor variable or by setting the
EDITOR environment variable. See
http://www.mutt.org/ for more
information about configuring
mutt.
In order to compose a new mail message, press
m. After a valid subject has been given,
mutt will start vi(1) and the
mail can be written. Once the contents of the mail are
complete, save and quit from vi and
mutt will resume, displaying a
summary screen of the mail that is to be delivered. In
order to send the mail, press y. An example
of the summary screen can be seen below:

mutt also contains extensive help, which can be accessed from most of the menus by pressing the ? key. The top line also displays the keyboard shortcuts where appropriate.
alpine is aimed at a beginner user, but also includes some advanced features.
The alpine software has had several remote vulnerabilities discovered in the past, which allowed remote attackers to execute arbitrary code as users on the local system, by the action of sending a specially-prepared email. All such known problems have been fixed, but the alpine code is written in a very insecure style and the FreeBSD Security Officer believes there are likely to be other undiscovered vulnerabilities. You install alpine at your own risk.
The current version of alpine
may be installed using the mail/alpine port. Once the port
has installed, alpine can be
started by issuing the following command:
% alpineThe first time that alpine is run it displays a greeting page with a brief introduction, as well as a request from the alpine development team to send an anonymous email message allowing them to judge how many users are using their client. To send this anonymous message, press Enter, or alternatively press E to exit the greeting without sending an anonymous message. An example of the greeting page can be seen below:

Users are then presented with the main menu, which can be easily navigated using the cursor keys. This main menu provides shortcuts for the composing new mails, browsing of mail directories, and even the administration of address book entries. Below the main menu, relevant keyboard shortcuts to perform functions specific to the task at hand are shown.
The default directory opened by
alpine is the inbox. To view the message
index, press I, or select the
option as seen
below:

The message index shows messages in the current directory, and can be navigated by using the cursor keys. Highlighted messages can be read by pressing the Enter key.

In the screenshot below, a sample message is displayed by alpine. Keyboard shortcuts are displayed as a reference at the bottom of the screen. An example of one of these shortcuts is the r key, which tells the MUA to reply to the current message being displayed.

Replying to an email in alpine is done using the pico editor, which is installed by default with alpine. The pico utility makes it easy to navigate around the message and is slightly more forgiving on novice users than vi(1) or mail(1). Once the reply is complete, the message can be sent by pressing Ctrl+X. The alpine application will ask for confirmation.

The alpine application can be customized using the option from the main menu. Consult http://www.washington.edu/alpine/ for more information.
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
For questions about FreeBSD, read the
documentation before
contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.