Setting up and configuring a mail server

Setting up and configuring a mail server is a challenging process, mostly because there are so many different components involved and each component has to be configured to work with the other.

In this series, we will show you how to set up a complete virtual user mail system on an Ubuntu server using the following software packages:

  • Postfix - Mail transfer agent (MTA), a software used to send and receive emails
  • Dovecot - Mail delivery agent, for IMAP/ POP3 access, mail delivery, authentication and more
  • Postfixadmin - Web interface which enables you to manage mailboxes, virtual domains and aliases.
  • Nginx and PHP - To access the Postfixadmin interface.
  • MySQL - To store info about domains and virtual users.
  • Rspamd - Modular and lightweight spam filter. Rspamd can also sign outbound e-mails with DKIM keys. (optional)
  • Unbound - A validating, recursive, and caching DNS resolver (optional)
  • Redis - As a key-value storage for Rspamd modules. (optional)
  • Roundcube - A web based IMAP email client (optional).

In the end of this series, you will have a fully functional mail server with web interface, support for virtual users and domains, spam filtering and DKIM, SPF, and DMARC records for better email delivery.