Email client

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Mozilla Thunderbird email client user interface on a GNU/Linux operating system

An email client, email reader, or more formally mail user agent (MUA), is a computer program used to manage a user's email.

The term can refer to any system capable of accessing the user's email mailbox, regardless of it being a mail user agent, a relaying server, or a human typing on a terminal. In addition, a web application that provides message management, composition, and reception functions is sometimes also considered an email client, but more commonly referred to as webmail.

Popular email clients include Microsoft Outlook, Pegasus Mail, Mozilla's Thunderbird, and Apple Inc.'s Mail.

Contents

[edit] Functionality and configuration

[edit] Retrieving messages from a mailbox

Like most client programs, an email client is only active when a user runs it. The most common system is for a remote Mail Transfer Agent (MTA) server, using a suitable mail delivery agent (MDA), to add email messages to a client's storage as they arrive. The remote mail storage is referred to as the user's mailbox. The default setting on many Unix systems is for the remote mail server to store formatted messages in mbox, within the user's HOME directory.

Emails are stored in the user's mailbox on the remote server until the user's email client requests them to be downloaded to the user's computer, or can otherwise access the user's mailbox on the remote server. The email client can be set up to connect to multiple mailboxes at the same time and to request the download of emails either automatically, such as at pre-set intervals, or the request can be manually initiated by the user. Alternatively, the user can run an email client on the remote server's machine or via an email client on another location. Webmail applications running on the remote server can also have direct access to the user's mailbox.

A user's mailbox can be accessed in two ways. The Post Office Protocol (POP) allows the user to download messages one at a time and only deletes them from the server after they have been successfully saved on local storage. It is possible to leave messages on the server to permit another user to access them. However, there is no provision for flagging a specific message as seen, answered, or forwarded, thus POP is not convenient for users who access the same mail from different machines or users.

Alternatively, the Internet Message Access Protocol (IMAP) allows users to keep messages on the server, flagging them as appropriate. IMAP provides sub-folders. Typically, the Sent, Drafts, and Trash folders are created by default. IMAP features an idle extension for real time updates, providing faster notification than polling where long lasting connections are feasible.

[edit] Message composition

Email clients usually contain user interfaces to display and edit text. Some applications permit the use of program-external editor.

The email clients will perform formatting according to RFC 5322 for headers and body, and MIME for non-textual content and attachments. Headers include the destination fields, To, Cc, and Bcc, and the originator fields From which is the message's author(s), Sender in case there are more authors, and Reply-To in case responses should be addressed to a different mailbox. To better assist the user with destination fields, many clients maintain one or more address books and/or are able to connect to an LDAP directory server. For originator fields, clients may support different identities.

Client settings require the user's real name and email address for each user's identity, and possibly a list of LDAP servers.

[edit] Submitting messages to a server

When a user wishes to create and send an email, the email client will handle the task. The email client is usually set up automatically to connect to the user's mail server, which is typically either an MSA or an MTA, two variations of the SMTP protocol. The email client which uses the SMTP protocol creates an authentication extension, which the mail server uses to authenticate the sender. This method eases modularity and nomadic computing. The older method was for the mail server to recognize the client's IP address, e.g. because the client is on the same machine and uses internal address 127.0.0.1, or because the client's IP address is controlled by the same internet service provider that provides both internet access and mail services.

Client settings require the name or IP address of the preferred outgoing mail server, the port number (25 for MTA, 587 for MSA), and the user name and password for the authentication, if any. There is a non-standard port 465 for SSL encrypted SMTP sessions, that many clients and servers support for backward compatibility. Transport Layer Security encryption can be configured for the standard ports, if both the client and the server support it.

[edit] Encryption

With no encryption, much like for postcards, email activity is plainly visible by any occasional eavesdropper. Email encryption enables to safeguard privacy by encrypting the mail sessions, the body of the message, or both. Without it, anyone (examples: the government (warrantless wiretapping, great firewall of China), fellow wireless network users such as at an Internet cafe or other public network, whether the network is open or not) with network access and the right tools can monitor email and obtain login passwords.

[edit] Encryption of mail sessions

All relevant email protocols have an option to encrypt the whole session. Remarkably, those options prevent a user's name and password from being sniffed, therefore they are recommended for nomadic users and whenever the internet access provider is not trusted. On sending mail, users can only control encryption at the hop from a client to its configured outgoing mail server. At any further hop, messages may be transmitted with or without encryption, depending solely on the general configuration of the transmitting server and the capabilities of the receiving one.

Encrypted mail sessions deliver messages in their original format, i.e. plain text or encrypted body, on a user's local mailbox and on the destination server's. The latter server is operated by an email hosting service provider, possibly a different entity than the internet access provider currently at hand.

[edit] Encryption of the message body

There are two models for managing cryptographic keys. S/MIME employs a model based on a trusted certificate authority (CA) that signs users' public keys. OpenPGP employs a somewhat more flexible web of trust mechanism that allows users to sign one another's public keys. OpenPGP is also more flexible in the format of the messages, in that it still supports plain message encryption and signing as they used to work before MIME standardization.

In both cases, only the message body is encrypted. Header fields, including originator, recipients, and subject, remain in plain text.

[edit] Standards

While popular protocols for retrieving mail include POP3 and IMAP4, sending mail is usually done using the SMTP protocol.

Another important standard supported by most email clients is MIME, which is used to send binary file email attachments. Attachments are files that are not part of the email proper, but are sent with the email.

Most email clients use an X-Mailer header field to identify the software used to send the message. According to RFC 2076, this is a common but non-standard header field.

RFC 4409, Message Submission for Mail, details the role of the Mail submission agent.

RFC 5068, Email Submission Operations: Access and Accountability Requirements, provides a survey of the concepts of MTA, MSA, MDA, and MUA. It mentions that "Access Providers MUST NOT block users from accessing the external Internet using the SUBMISSION port 587" and that "MUAs SHOULD use the SUBMISSION port for message submission."

[edit] Port numbers

Email servers and client use the following TCP port numbers by convention, but customized configuration exist:

protocol use plain text or
encrypt sessions
plain text
sessions only
encrypt sessions
only
POP3 incoming mail 110 995
IMAP4 incoming mail 143 993
SMTP outgoing mail 25 (unofficial[1]) 465
MSA outgoing mail 587
HTTP webmail 80 443

Note that while webmail obeys the earlier HTTP disposition of having separate ports for encrypt and plain text sessions, mail protocols use the STARTTLS technique, thereby allowing encryption to start on an already established TCP connection. RFC 2595 discourages the use of the previously established ports 993 and 995.

[edit] Webmail

In addition to the fat client email clients and small email clients, there are also Web-based email applications called webmail. Webmail has several advantages, including an ability to send and receive email away from the user's normal base using a web browser, thus eliminating the need for an email client.

Some websites are dedicated to providing email services, including Hotmail, Gmail, AOL, and Yahoo; but there are many internet service providers which provide webmail services as part of their internet service package. The main limitations of webmail are that user interactions are subject to the website's operating system and the general inability to download email messages and compose or work on the messages offline, although Gmail does offer Offline Gmail through the installation of Gears. The advantage of webmail provided by a regular mail server is that email remains on the mail server until the user can return to the base computer, when they can be downloaded.

[edit] Proprietary client protocols

Microsoft mail systems define the proprietary Messaging Application Programming Interface (MAPI) that is used in client applications, such as Microsoft Outlook, to access Microsoft Exchange electronic mail servers.

[edit] Notes

  1. ^ "PORT NUMBERS". IANA. 2010-01-15. http://www.iana.org/assignments/port-numbers. Retrieved 2010-01-16. "urd 465/tcp URL Rendesvous Directory for SSM" 

[edit] See also

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages