Within the Internetemail system, a message transfer agent or mail transfer agent or mail relay is software that transfers electronic mail messages from one computer to another using SMTP. The terms mail server, mail exchanger, and MX host are also used in some contexts. Messages exchanged across networks are passed between mail servers, including any attached data files. These servers also often keep mailboxes for email. Access to this email by end users is typically either via webmail or an email client.
Operation
A message transfer agent receives mail from either another MTA, a mail submission agent, or a mail user agent. The transmission details are specified by the Simple Mail Transfer Protocol. 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. 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
A relay or filtering server will typically store email only briefly, but other systems keep full mailboxes for email - in which case they usually support some means for end users to access their email via a Mail User Agent, or email client. Common protocols for this are:
Submission of new email from a mail client is via SMTP, typically on port 587 or 465, and is now generally restricted to servers the user has an account with-such as their ISP. This is for policy, not technical, reasons so that providers have some means of holding their users accountable for the generation of spam and other forms of email abuse.