Rename Using Electronic Email to Mail Components.

Format as a variable list, clean up the wording, and add references.
Many more commits in this chapter to come.

Sponsored by:	iXsystems
This commit is contained in:
Dru Lavigne 2014-05-09 16:17:58 +00:00
parent 9105cbe840
commit 48a0dae3d2
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44798

View file

@ -114,37 +114,11 @@
</sect1>
<sect1 xml:id="mail-using">
<title>Using Electronic Mail</title>
<title>Mail Components</title>
<indexterm><primary>POP</primary></indexterm>
<indexterm><primary>IMAP</primary></indexterm>
<indexterm><primary>DNS</primary></indexterm>
<para>There are five major parts involved in an email exchange:
<link linkend="mail-mua">the Mail User Agent
<acronym>MUA&gt;</acronym></link>, <link linkend="mail-mta">the
Mail Transfer Agent<acronym>MTA</acronym></link>, <link linkend="mail-dns"><acronym>DNS</acronym></link>, <link linkend="mail-receive">a remote or local mailbox</link>, and
<link linkend="mail-host">the mail host</link>.</para>
<sect2 xml:id="mail-mua">
<title>The Mail User Agent</title>
<para>This includes command line programs such as
<application>mutt</application>,
<application>alpine</application>,
<application>elm</application>, and
<command>mail</command>, <acronym>GUI</acronym> programs such
as <application>balsa</application> or
<application>xfmail</application>, and web mail programs
which can be accessed from a web browser. User programs pass
the email transactions to the local <link linkend="mail-host"><quote>mail host</quote></link>, either
by a <link linkend="mail-mta"><acronym>MTA</acronym></link>, or by
delivering it over <acronym>TCP</acronym>.</para>
</sect2>
<sect2 xml:id="mail-mta">
<title>The Mail Transfer Agent</title>
<indexterm>
<primary>mail server daemons</primary>
<secondary><application>Sendmail</application></secondary>
@ -161,48 +135,110 @@
<primary>mail server daemons</primary>
<secondary><application>Exim</application></secondary>
</indexterm>
<indexterm>
<primary>email</primary>
<secondary>receiving</secondary>
</indexterm>
<indexterm><primary>MX record</primary></indexterm>
<indexterm><primary>mail host</primary></indexterm>
<para>&os; ships with <application>Sendmail</application> as the
<para>There are five major parts involved in an email exchange:
the Mail User Agent (<acronym>MUA</acronym>), the Mail Transfer
Agent (<acronym>MTA</acronym>), a mail host, a remote
or local mailbox, and <acronym>DNS</acronym>. This section provides an
overview of these components.</para>
<variablelist>
<varlistentry>
<term>Mail User Agent (<acronym>MUA</acronym>)</term>
<listitem>
<para>The Mail User Agent (<acronym>MUA</acronym>) is an
application which is used to compose, send, and receive
emails. This application can be a command line program, such as
the built-in <command>mail</command> utility or a third-party
application from the Ports Collection, such as
<application>mutt</application>,
<application>alpine</application>, or
<application>elm</application>.
Dozens of graphical programs are also available in the Ports Collection, including
<application>Claws Mail</application>, <application>Evolution</application>, and
<application>Thunderbird</application>. Some organizations provide a web mail program
which can be accessed through a web browser. More information
about installing and using a <acronym>MUA</acronym> on &os; can be
found in <xref linkend="mail-agents"/>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Mail Transfer Agent (<acronym>MTA</acronym>)</term>
<listitem>
<para>The Mail Transfer Agent (<acronym>MTA</acronym>) is
responsible for receiving incoming mail and delivering
outgoing mail. &os; ships with <application>Sendmail</application> as the
default <acronym>MTA</acronym>, but it also supports numerous
other mail server daemons, including:</para>
other mail server daemons, including <application>Exim</application>,
<application>Postfix</application>, and
<application>qmail</application>.
<application>Sendmail</application> configuration is described
in <xref linkend="sendmail"/>. If another
<acronym>MTA</acronym> is installed using the Ports
Collection, refer to its post-installation message for
&os;-specific configuration details and the application's
website for more general configuration instructions.</para>
</listitem>
</varlistentry>
<itemizedlist>
<varlistentry>
<term>Mail Host and Mailboxes</term>
<listitem>
<para><application>Exim</application>;</para>
</listitem>
<para>The mail host is a server that is responsible for
delivering and receiving mail for a host or a network. The
mail host collects all mail sent to the domain and stores it
either in the default <filename>mbox</filename> or the
alternative Maildir format, depending on the configuration.
Once mail has been stored, it may either be read locally using
a <acronym>MUA</acronym> or remotely accessed and collected
using protocols such as <acronym>POP</acronym> or
<acronym>IMAP</acronym>. If mail is read locally,
a <acronym>POP</acronym> or <acronym>IMAP</acronym> server
does not need to be installed.</para>
<para>To access mailboxes remotely, a
<acronym>POP</acronym> or <acronym>IMAP</acronym> server is
required as these protocols allow users to connect to their
mailboxes from remote locations. <acronym>IMAP</acronym> offers
several advantages over <acronym>POP</acronym>. These
include the ability to store a copy of messages on a
remote server after they are downloaded and concurrent
updates. <acronym>IMAP</acronym> can be useful over
low-speed links as it allows users to fetch the
structure of messages without downloading them. It can
also perform tasks such as searching on the server in
order to minimize data transfer between clients and
servers.</para>
<para>Several <acronym>POP</acronym> and
<acronym>IMAP</acronym> servers are available in the Ports
Collection. These include <package>mail/qpopper</package>,
<package>mail/imap-uw</package>,
<package>mail/courier-imap</package>, and
<package>mail/dovecot2</package>.</para>
<warning>
<para>It should be noted that both <acronym>POP</acronym>
and <acronym>IMAP</acronym> transmit information,
including username and password credentials, in
clear-text. To secure the transmission of information
across these protocols, consider tunneling sessions over
&man.ssh.1; (<xref linkend="security-ssh-tunneling"/>) or
using <acronym>SSL</acronym> (<xref linkend="openssl"/>).</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term>Domain Name System (<acronym>DNS</acronym>)</term>
<listitem>
<para><application>Postfix</application>;</para>
</listitem>
<listitem>
<para><application>qmail</application>.</para>
</listitem>
</itemizedlist>
<para>The <acronym>MTA</acronym> usually has two functions. It
is responsible for receiving incoming mail as well as
delivering outgoing mail. It is <emphasis>not</emphasis>
responsible for the collection of mail using protocols such as
<acronym>POP</acronym> or <acronym>IMAP</acronym>, nor does it
allow connecting to local <filename>mbox</filename> or Maildir
mailboxes. An additional <link linkend="mail-receive">daemon</link> may be required for
these functions.</para>
<warning>
<para>Older versions of <application>Sendmail</application>
contain serious security issues which may result in an
attacker gaining local or remote access to the system.
Run a current version to &os; to avoid these problems.
Optionally, install an alternative <acronym>MTA</acronym>
from the <link linkend="ports">&os; Ports
Collection</link>.</para>
</warning>
</sect2>
<sect2 xml:id="mail-dns">
<title>Email and DNS</title>
<para>The Domain Name System (<acronym>DNS</acronym>) and its
daemon <command>named</command> play a large role in the
delivery of email. In order to deliver mail from one site to
@ -212,160 +248,26 @@
when mail is sent from a remote host to the
<acronym>MTA</acronym>.</para>
<indexterm>
<primary>MX record</primary>
</indexterm>
<para><acronym>DNS</acronym> is responsible for mapping
hostnames to IP addresses, as well as for storing information
<para>In addition to mapping hostnames to <acronym>IP</acronym>
addresses, <acronym>DNS</acronym> is responsible for storing information
specific to mail delivery, known as Mail eXchanger
<acronym>MX</acronym> records. The <acronym>MX</acronym>
record specifies which host, or hosts, will receive mail for a
particular domain. If there is no <acronym>MX</acronym>
record for the hostname or domain, the mail will be delivered
directly to the host, provided there is an
<literal>A</literal> record pointing the hostname to the IP
address.</para>
record specifies which hosts will receive mail for a
particular domain.</para>
<para>To view the <acronym>MX</acronym> records for a domain,
specify the type of record using &man.host.1;, as seen in the
example below:</para>
specify the type of record. Refer to &man.host.1;, for more
details about this command:</para>
<screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput>
FreeBSD.org mail is handled by 10 mx1.FreeBSD.org</screen>
</sect2>
<sect2 xml:id="mail-receive">
<title>Receiving Mail</title>
<indexterm>
<primary>email</primary>
<secondary>receiving</secondary>
</indexterm>
<para>Receiving mail for a domain is done by the mail host.
It will collect all mail sent to the domain and store it
either in the default <filename>mbox</filename> or the
alternative Maildir format, depending on the configuration.
Once mail has been stored, it may either be read locally using
a <acronym>MUA</acronym>, or remotely accessed and collected
using protocols such as <acronym>POP</acronym> or
<acronym>IMAP</acronym>. In order to read mail locally,
a <acronym>POP</acronym> or <acronym>IMAP</acronym> server
does not need to be installed.</para>
<sect3 xml:id="pop-and-imap">
<title>Accessing Remote Mailboxes Using <acronym>POP</acronym>
and <acronym>IMAP</acronym></title>
<indexterm><primary>POP</primary></indexterm>
<indexterm><primary>IMAP</primary></indexterm>
<para>To access mailboxes remotely, access to a
<acronym>POP</acronym> or <acronym>IMAP</acronym> server is
required. These protocols allow users to connect to their
mailboxes from remote locations. Though both
<acronym>POP</acronym> and <acronym>IMAP</acronym> allow
users to remotely access mailboxes, <acronym>IMAP</acronym>
offers many advantages, including:</para>
<itemizedlist>
<listitem>
<para><acronym>IMAP</acronym> can store messages on a
remote server as well as fetch them.</para>
</listitem>
<listitem>
<para><acronym>IMAP</acronym> supports concurrent
updates.</para>
</listitem>
<listitem>
<para><acronym>IMAP</acronym> can be useful over
low-speed links as it allows users to fetch the
structure of messages without downloading them. It can
also perform tasks such as searching on the server in
order to minimize data transfer between clients and
servers.</para>
</listitem>
</itemizedlist>
<para>In order to install a <acronym>POP</acronym> or
<acronym>IMAP</acronym> server, the following steps should
be performed:</para>
<procedure>
<step>
<para>Use the Ports Collection to install an
<acronym>IMAP</acronym> or <acronym>POP</acronym>
server. The following <acronym>POP</acronym> and
<acronym>IMAP</acronym> servers are well known:</para>
<itemizedlist>
<listitem>
<para><package>mail/qpopper</package></para>
</listitem>
<listitem>
<para><package>mail/teapop</package></para>
</listitem>
<listitem>
<para><package>mail/imap-uw</package></para>
</listitem>
<listitem>
<para><package>mail/courier-imap</package></para>
</listitem>
<listitem>
<para><package>mail/dovecot2</package></para>
</listitem>
</itemizedlist>
</step>
<step>
<para>Where required, use the startup script that came
with the application to load the <acronym>POP</acronym>
or <acronym>IMAP</acronym> server. Those programs will
also provide a variable which can be added to
<filename>/etc/rc.conf</filename> to automate the
startup of the application's daemon whenever the system
boots.</para>
</step>
</procedure>
<warning>
<para>It should be noted that both <acronym>POP</acronym>
and <acronym>IMAP</acronym> transmit information,
including username and password credentials, in
clear-text. To secure the transmission of information
across these protocols, consider tunneling sessions over
&man.ssh.1; (<xref linkend="security-ssh-tunneling"/>) or
using SSL (<xref linkend="openssl"/>).</para>
</warning>
</sect3>
<sect3 xml:id="local">
<title>Accessing Local Mailboxes</title>
<para>Mailboxes may be accessed locally by directly using an
<acronym>MUA</acronym> on the server on which the mailbox
resides. This can be done using a built-in application
such as &man.mail.1; or by installing a
<acronym>MUA</acronym> from the Ports Collection..</para>
</sect3>
</sect2>
<sect2 xml:id="mail-host">
<title>The Mail Host</title>
<indexterm><primary>mail host</primary></indexterm>
<para>The mail host is a server that is responsible for
delivering and receiving mail for a host, or a network.</para>
</sect2>
<para>Refer to <xref linkend="network-dns"/> for more
information about <acronym>DNS</acronym> and its
configuration.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 xml:id="sendmail">