Mail Transfer Agent (MTA) is a software application that routes electronic mail messages from the sender’s computer to the recipient’s, using an Internet message handling system (MHS). MTA adopts client-server architecture. The best examples of MTAs are Microsoft Exchange, UNIX Send mail, Webmail etc. A detailed explanation on Mail Transfer Agents along with its functions is mentioned below.
Some of the major functions of Mail Transfer Agents (MTA) are:
- Messages generated by the user agents are transferred or forwarded to their destinations.
- Each and every activity is tracked and analysed. Recipient list is stored to perform future routing functions.
- Receives all messages which are transferred from other mail agents for further transmission.
- If a message fails to reach its intended destination, then auto-responses are sent about non-delivery of the same.
Computing terms like MX, Mail Exchanger, Mail Server etc. are all used to refer to the system that is dealing with the MTA functions. MTA does not work alone for mail transfer. A Mail Transfer Agent usually receives messages from either a Mail User agent (MUA), Mail Submission Agent (MSA) or an MTA itself. Simple Mail Transfer Protocol (SMTP) defines the transmission protocols. 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. Port 25 is the default port which is used for communication between MTAs, or from an MSA to an MTA.
Some of the most common Mail Transfer Agents for Unix-like operating systems are:
Exim is a Mail Transfer Agent (MTA) developed at the University of Cambridge. It is written in C and is used on Unix-like operating systems. As it is highly configurable, it has features that are lacking in other MTAs. Exim is designed to deliver emails immediately, without queuing. Its major disadvantage lies in the fact that its queue processing performance is poor compared to other MTAs, especially when the queue is large.
Postfix is a free and open-source mail transfer agent. One single Postfix instance can deliver up to 300 messages / second. Unlike Exim that makes only one connection at a time, Postfix can submit specified number of mails in batches at a time. In short, Postfix implements a high-performance parallelized mail-delivery engine.
Sendmail supports many types of mail-transfer and delivery, like SMTP. Early versions of Sendmail suffered from security vulnerabilities that have been corrected over the years. It also supports mfilters, which are external mail filtering programs. Sendmail is highly configurable and allows control over almost every aspect of sending an email.
Qmail is also a Mail Transfer Agent (MTA) written in C and runs on Unix. It was the first security-aware mail transport agent to be published and was mainly used for handling bulk mailing tasks. Qmail is also easy to configure and deploy compared to other mail transfer agents.
According to recent estimates, spam mails make 80%-90% of all the emails. Although, there are spam filters such as SpamAssassins, they fail to recognise majority of spam mails. By using blacklists, and running tests on the sender and recipient domains, we can block spamming at the MTA level itself.