On a network such as the Internet, mail clients send mail to a mail server which then routes the messages to the correct destinations (other clients). The mail server uses a network application called Mail Transfer Agent (MTA).
What is a Mail Transfer Agent (MTA)?
An MTA is an application that routes and transmits electronic mail from one node on a network to another. It uses a protocol known as SMTP (Simple Mail Transfer Protocol) to perform its task.
On a network node, exists an email client that is used to send and receive messages to and from the mail server, an email client also makes use of the SMTP protocol but it is not necessarily an MTA.
MTA’s are installed on a mail server and email clients such as Mozilla Thunderbird, Evolution, Microsoft’s Outlook, and Apple Mail are installed on a mail client (user computer).
In this article, we shall look at a round-up of the best and most used MTAs on Linux mail servers.
1. Sendmail
Sendmail now known as Proofpoint (after Proofpoint, Inc. acquired Sendmail, Inc.) is by far the most popular and one of the oldest MTA on the Linux server platform. Sendmail has a lot of limitations though, in comparison to modern MTAs.
Because of its complicated configuration steps and demands, and weak security mechanisms, many new MTAs have come up as alternatives to Sendmail, but importantly, it offers everything to do with mail on a network.
2. Postfix
Postfix is a cross-platform, popular MTA that was designed and developed by Wietse Zweitze Venema for his mail server while working at the IBM research department.
It was primarily developed as an alternative to the well-known and popular Sendmail MTA. Postfix runs on Linux, Mac OSX, Solaris, and several other Unix-like operating systems.
It borrows a lot of Sendmail properties on the outside, but it has a totally and comprehensively distinct internal operation. Additionally, it bids to be fast in performance with easy configurations and secure operation mechanism and has the following major features:
- Junk mail control
- Supports multiple protocols
- Database support
- Mailbox support
- Address manipulation support and many more
To find installation instructions, please refer to our article on how to install Postfix on Linux.
3. Exim
Exim is a free MTA developed for Unix-like operating systems such as Linux, Mac OSX, Solaris, and many more. Exim offers a great level of flexibility in routing mail on a network, with outstanding mechanisms and facilities for incoming mail monitoring.
Its notable features include among others:
- No support for POP and IMAP protocols
- Supports protocols such as RFC 2821 SMTP and RFC 2033 LMTP email message transport
- Configurations include access control lists, content scanning, encryption, and routing controls among others
- Excellent documentation
- It has utilities such as Lemonade which is an assortment of SMTP and IMAP extensions to enable mobile messaging plus many more.
4. Qmail
Qmail is also another free, open-source, and modern Linux MTA when compared to the other MTAs we have looked at. Moreover, it is simple, reliable, efficient, and offers extensive security features hence a secure MTA package.
It is relatively small but feature-rich and some of its features include:
- Runs on multiple Unix-like operating systems such as FreeBSD, Solaris, Mac OSX plus many more
- Simple and quick installation
- Automatic per-host configuration
- Clear separation between addresses, files, and programs
- Full support for address groups
- Let each user manage their mail lists
- Supports an easy way to set up a mailing list
- Supports VERPs
- Supports automatic prevention of mailing list loops
- Supports ezmlm mailing list manager
- No random lists are supported and many more
5. Mutt – Command Line Email Client
Mutt is a small yet powerful terminal-based email client for Unix-like operating systems. It has some exciting features as a text-based email client, and some of its notable features include:
- Message threading
- Support for IMAP and POP3 protocols
- Supports several mailbox formats such as mbox, MH, Maildir, MMDF
- Delivery status support
- Multiple message tagging
- Support for PGP/MIME (RFC2015)
- Various features to support mailing listing, including list-reply
- Full control of message headers during composition
- Easy to install
- The active development community and many more
6. Alpine
Alpine is a fast and easy-to-use terminal-based email client for Linux, it is based on the Pine messaging system. It works well for starters and power users alike, users can easily learn how to use it through context-sensitive help.
Importantly, it is highly customizable through the Alpine setup command.
7. OpenSMTP
OpenSMTPD is an open-source mail transfer agent that is used to deliver messages on a local system or to relay them to other SMTP servers.
It also comes with a web service that permits the sending of emails via an HTTP web server. It runs on various Unix and Unix-like operating systems such as Linux, FreeBSD, OpenBSD, NetBSD, and OSX.
8. Postal
Postal is a fully-featured mail server designed for websites and web servers. It’s like Sendgrid, Mailgun, or Postmark, but it’s open source and available for you to use on your servers.
Postal was developed by Krystal for its own mail processing needs and has now been made available as an open-source project for everyone to use.
Conclusion
In this roundup, we have looked at a brief introduction to how mail is routed and transmitted on a network from mail clients to mail servers and more importantly, a slight understanding of how MTAs work and a list of the best and most used Linux MTA that you may probably want to install to build a mail server.
There are several other MTAs out there but they all have strengths and limitations as the ones we have reviewed here.