Email Protocols
Today, email is delivered using a client/server architecture. An email message is created using a mail client program. This program then sends the message to a server. The server then forwards the message to the recipient's email server, where the message is then supplied to the recipient's email client.
To enable this process, a variety of standard network protocols allow different machines, often running different operating systems and using different email programs, to send and receive email.
The following protocols discussed are the most commonly used in the transfer of email.
Mail delivery from a client application to the server, and from an originating server to the destination server, is handled by the Simple Mail Transfer Protocol (SMTP). The primary purpose of SMTP is to transfer email between mail servers. However, it is critical for email clients as well. To send email, the client sends the message to an outgoing mail server, which in turn contacts the destination mail server for delivery. For this reason, it is necessary to specify an SMTP server when configuring an email client.
Under Community Enterprise Linux, a user can configure an SMTP server on the local machine to handle mail delivery. However, it is also possible to configure remote SMTP servers for outgoing mail.
One important point to make about the SMTP protocol is that it does not require authentication. This allows anyone on the Internet to send email to anyone else or even to large groups of people. It is this characteristic of SMTP that makes junk email or spam possible. Imposing relay restrictions limits random users on the Internet from sending email through your SMTP server, to other servers on the internet. Servers that do not impose such restrictions are called open relay servers.
By default, Sendmail ( There are two primary protocols used by email client applications to retrieve email from mail servers: the Post Office Protocol (POP) and the Internet Message Access Protocol (IMAP). The default POP server under Community Enterprise Linux is POP is fully compatible with important Internet messaging standards, such as Multipurpose Internet Mail Extensions (MIME), which allow for email attachments.
POP works best for users who have one system on which to read email. It also works well for users who do not have a persistent connection to the Internet or the network containing the mail server. Unfortunately for those with slow network connections, POP requires client programs upon authentication to download the entire content of each message. This can take a long time if any messages have large attachments.
The most current version of the standard POP protocol is POP3.
There are, however, a variety of lesser-used POP protocol variants:
For added security, it is possible to use Secure Socket Layer (SSL) encryption for client authentication and data transfer sessions. This can be enabled by using the The default IMAP server under Community Enterprise Linux is IMAP is particularly useful for those who access their email using multiple machines. The protocol is also convenient for users connecting to the mail server via a slow connection, because only the email header information is downloaded for messages until opened, saving bandwidth. The user also has the ability to delete messages without viewing or downloading them.
For convenience, IMAP client applications are capable of caching copies of messages locally, so the user can browse previously read messages when not directly connected to the IMAP server.
IMAP, like POP, is fully compatible with important Internet messaging standards, such as MIME, which allow for email attachments.
For added security, it is possible to use SSL encryption for client authentication and data transfer sessions. This can be enabled by using the Other free, as well as commercial, IMAP clients and servers are available, many of which extend the IMAP protocol and provide additional functionality. A comprehensive list can be found online at http://www.imap.org/products/longlist.htm. The Please note that Unlike SMTP, both of these protocols require connecting clients to authenticate using a username and password. By default, passwords for both protocols are passed over the network unencrypted.
To configure SSL on dovecot:
Mail Transport Protocols
SMTP
/usr/sbin/sendmail
) is the default SMTP program under Community Enterprise Linux. However, a simpler mail server application called Postfix (/usr/sbin/postfix
) is also available.Mail Access Protocols
POP
/usr/lib/cyrus-imapd/pop3d
and is provided by the cyrus-imapd
package. When using a POP server, email messages are downloaded by email client applications. By default, most POP email clients are automatically configured to delete the message on the email server after it has been successfully transferred, however this setting usually can be changed.
ipop3s
service or by using the /usr/sbin/stunnel
program. Refer to "Securing Communication" for more information.IMAP
/usr/lib/cyrus-imapd/imapd
and is provided by the cyrus-imapd
package. When using an IMAP mail server, email messages remain on the server where users can read or delete them. IMAP also allows client applications to create, rename, or delete mail directories on the server to organize and store email.
imaps
service, or by using the /usr/sbin/stunnel
program. Refer to "Securing Communication" for more information.
Dovecot
imap-login
and pop3-login
daemons which implement the IMAP and POP3 protocols are included in the dovecot
package. The use of IMAP and POP is configured through dovecot
; by default dovecot
runs only IMAP. To configure dovecot
to use POP:
/etc/dovecot.conf
to have the line:protocols = imap imaps pop3 pop3s
More details on service dovecot restart
chkconfig dovecot on
dovecot
only reports that it started the IMAP server, but also starts the POP3 server.
dovecot
configuration file /etc/pki/dovecot/dovecot-openssl.conf
as you prefer. However in a typical installation, this file does not require modification./etc/pki/dovecot/certs/dovecot.pem
and /etc/pki/dovecot/private/dovecot.pem
.
/usr/share/doc/dovecot-1.0/examples/mkcert.sh
script which creates the dovecot self signed certificates. The certificates are copied in the /etc/pki/dovecot/certs
and /etc/pki/dovecot/private
directories. To implement the changes, restart dovecot
(/sbin/service dovecot restart
).dovecot
can be found online at http://www.dovecot.org.