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.
You missed an excellent opportunity to explain the difference between MTA and MUA. But since you listed two MUAs in your MTA list, perhaps you don’t know the difference?
@Dave,
To clarify, MTA (Mail Transfer Agent) manages the transmission of emails between servers, such as Postfix and Sendmail. Meanwhile, MUA (Mail User Agent) is the email client used by individuals, like Outlook or Thunderbird.
I must have unintentionally included MUAs in the MTA list, and I appreciate you pointing that out. If you have any further questions or if there’s anything else you’d like me to clarify, please feel free to ask!
Hi Ravi Saive. It says this article was written by one “Aaron Kili” but you are responding as though you wrote it. What gives?
@Money,
The author, Aaron Kili, has left and is no longer working with us. As the admin (me, Ravi Saive), I will respond to users’ comments with solutions to keep this article active.
why the HACK did you put the most STOOBID AND IMBECILE and REALLY obsolete sendmail first and not last?
Maybe because it’s the original and oldest? Have you ever actually configured sendmail before?
You can also have a look at vSMTP.
vSMTP is a next-gen Mail Transfer Agent, that is fast, safe, and easy to use!
* It is 100% built-in Rust.
* It is modular and highly customizable.
* It has a complete filtering system using a custom scripting language based on Rhai.
vSMTP is fully open-source.
Have a nice day!
Links:
The repository: https://github.com/viridIT/vSMTP
@Pag
We have checked out vSMTP, we will explore it more. Many thanks for sharing.
MTA and mail clients in one list. You should add webmail and graphics editor…
Hello – I need an advice:
We are running some ubuntu 18.4 servers which have no MTA installed.
To control cron and shell scripts we would like to receive some messages from these script, if script has started, something went wrong etc.
Which MTA would is recommended for just this only purpose?
Thanks
@Wolfgant,
Use Sendmail or Postfix both are good MTA’s.
The link to Qmail is wrong.
@Mipdt,
Thanks, corrected the link to Qmail in the article…
OpenSMTP (the default SMTP daemon of OpenBSD and available for all major Linux distros) is absolutely missing on this list.
@Herald,
Thanks, included OpenSMTP in the list as suggested by you…
Qmail is quite ancient MTA (the last version came out in 1998!). Read the appropriate article on Wikipedia: https://en.wikipedia.org/wiki/Qmail
Also, the homepage link is not valid anymore…
@Manos,
Yes, but still Qmail is used by many organizations, also I have corrected the link to the Qmail in the article…
I would suggest Powermta, as I am using it since 1 year.
@Arujun,
Thanks for sharing, we will include Powermta in the list..
Dear Aaron,
You should check out MailerQ – Providing a fast, scalable and stable solution for a one-time-fee, this MTA allows you take control of your email delivery in an easy and efficient manner.
Is mutt an MTA? I thought it was an MUA that relies on an external MTA.
@David
Sure, this list actually includes both MTA’s and MUA’s now, we will update the article heading soon.
When is soon?
Thank you for this post, but where is power mta?!!
@Devops
We’ll check it out and possibly review it here. Thanks for sharing.
Achelous, a sendmail replacement, which queues and uploads emails to a web service. We designed it for IoT devices and containers, which might send emails for administrative purposes. https://github.com/core-process/achelous
@Niklas
Thanks for sharing, we check it out and review it soon.
Awesome, thanks for your feedback. Please let me know in case you need further information or in case you want to share some feedback with us. We use Achelous on thousands of IoT devices already. :-)
Good Day!
1 to 4 are Mail Transport Agents (MTA)s
5 & 6 are Mail User Agents (MUA)s and are not MTAs! “Email Clients” are MUAs not MTAs … period!
The title should read:
4 Best Mail Transfer Agents (MTA’s) for Linux and a couple of MUAs ;-)
To get to 6 MTAs one can include:
5) CourierMail Server courier-mta : the Courier mail transfer agent (MTA) is an integrated mail/groupware
server based on open commodity protocols, such as ESMTP, IMAP, POP3, LDAP,
SSL, and HTTP. Courier provides ESMTP, IMAP, POP3, webmail, and mailing list
services within a single, consistent, framework.
and even the light weight ->
6) dma – https://github.com/corecode/dma – DragonFly Mail Agent – dma is a small Mail Transport Agent (MTA), designed for home and office use. It accepts mails from locally installed Mail User Agents (MUA) and delivers the mails either locally or to a remote destination. Remote delivery includes several features like TLS/SSL support and SMTP authentication.
PS: Having used all 6 MTAs I stick with Exim if possible.
@Robert
Many thanks for the heads up, we will consider your suggestions.
I’ve been using a courier for about 8+ years now. Well recommended for the ability to do SMTP, IMAP, and pop all in one place.