Supriya Ghosh (Editor)

Message transfer agent

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Within Internet message handling services (MHS), a message transfer agent or mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using a client–server application architecture. An MTA implements both the client (sending) and server (receiving) portions of the Simple Mail Transfer Protocol.

Contents

The terms mail server, mail exchanger, and MX host may also refer to a computer performing the MTA function. The Domain Name System (DNS) associates a mail server to a domain with an MX record containing the domain name of the host(s) providing MTA services.

A mail server is a computer that serves as an electronic post office for email. Mail exchanged across networks is passed between mail servers that run specially designed software. This software is built around agreed-upon, standardized protocols for handling not only mail messages, but also any data files (such as images, multimedia or documents) that might be attached to them.

Operation

A message transfer agent receives mail from either another MTA, a mail submission agent (MSA), or a mail user agent (MUA). The transmission details are specified by the Simple Mail Transfer Protocol (SMTP). When a recipient mailbox of a message is not hosted locally, the message is relayed, that is, forwarded to another MTA. Every time an MTA receives an email message, it adds a Received trace header field to the top of the header of the message, thereby building a sequential record of MTAs handling the message. The process of choosing a target MTA for the next hop is also described in SMTP, but can usually be overridden by configuring the MTA software with specific routes.

An MTA works in the background, while the user usually interacts directly with a mail user agent. One may distinguish initial submission as first passing through an MSA – port 587 is used for communication between an MUA and an MSA while port 25 is used for communication between MTAs, or from an MSA to an MTA; this distinction is first made in RFC 2476.

For recipients hosted locally, the final delivery of email to a recipient mailbox is the task of a message delivery agent (MDA). For this purpose the MTA transfers the message to the message handling service component of the message delivery agent. Upon final delivery, the Return-Path field is added to the envelope to record the return path.

Transfer versus access

The function of an MTA is usually complemented with some means for email clients to access stored messages. This function typically employs a different protocol. The most widely implemented open protocols for the MUA are the Post Office Protocol (POP3) and the Internet Message Access Protocol (IMAP), but many proprietary systems exist for retrieving messages (e.g. Exchange, Lotus Domino/Notes). Many systems also offer a web interface for reading and sending email that is independent of any particular MUA.

At its most basic, an MUA using POP3 downloads messages from the server mailbox onto the local computer for display in the MUA. Messages are generally removed from the server at the same time but most systems also allow a copy to be left behind as a backup. In contrast, an MUA using IMAP displays messages directly from the server, although a download option for archive purposes is usually also available. One advantage this gives IMAP is that the same messages are visible from any computer accessing the email account, since messages aren't routinely downloaded and deleted from the server. If set up properly, sent mail can be saved to the server also, in contrast with POP mail, where sent messages exist only in the local MUA and are not visible by other MUAs accessing the same account.

The IMAP protocol has features that allow uploading of mail messages and there are implementations that can be configured to also send messages like an MTA, which combine sending a copy and storing a copy in the Sent folder in one upload operation.

The reason for using SMTP as a standalone transfer protocol is twofold:

  • To cope with discontinuous connections. Historically, inter-network connections were not continuously available as they are today and many readers didn't need an access protocol, as they could access their mailbox directly (as a file) through a terminal connection. SMTP, if configured to use backup MXes, can transparently cope with temporary local network outages. A message can be transmitted along a variable path by choosing the next hop from a preconfigured list of MXes with no intervention from the originating user.
  • Submission policies. Modern systems are designed for users to submit messages to their local servers for policy, not technical, reasons. It was not always that way. For example, the original Eudora email client featured direct delivery of mail to the recipients' servers, out of necessity. Today, funneling email through MSA systems run by providers that in principle have some means of holding their users accountable for the generation of the email is a defense against spam and other forms of email abuse.
  • References

    Message transfer agent Wikipedia