Complete Virtual Mail Server

Article status
This article has some todo items:

The purpose of this guide is to establish a virtual mail system that can handle multiple domains with a variety of different interface options. This is not intended to be used by the average user who is looking for a mail client, this is a full-scale Mail Transfer Agent (MTA) intended for individuals who are hosting their own domains and/or need to provide support for virtual domains.

By the end of this guide, an easy method to manage a mail server that supports the following features has passed the revue:

  • Web based system administration
  • Unlimited number of domains
  • Virtual mail users without the need for shell accounts
  • Domain (specific) user names
  • Mailbox quotas
  • Web access to email accounts
  • IMAP and (very optional) POP3 support
  • SMTP Authentication for secure relaying
  • SSL for transport layer security
  • Strong SPAM filtering
  • Anti-Virus filtering
  • Log Analysis

The real plus is that all of this is managed by a single database.

Getting Started[edit | edit source]

System Setup and Packages[edit | edit source]

This section outlines a system setup (a multi-server implementation) as well as the core packages that were used. This is a MUST READ before reading on any further (don't worry, it's short).

Basic Setup[edit | edit source]

Linux 'vmail' user[edit | edit source]

Mailboxes are stored on a normal filesystem and thus needs a user and group for security.

Admin Support Systems[edit | edit source]

www-apps/postfixadmin and www-servers/apache were key tools in getting through testing and getting this to hang together. While the details of an Apache/PHP setup are not here, there is good information in here all the same.

Linking Postfix to database backend[edit | edit source]

mail-mta/postfix will be coupled to a database backend allowing virtual users on multiple domains.

Linking Courier-imap to database backend[edit | edit source]

net-mail/courier-imap will be coupled to the same database.

Enhanced Setup[edit | edit source]

SMTP Authentication[edit | edit source]

Having a mailserver that relays local mail is good enough for most, being able to relay mail after authentication is extremely handy.

Web Access[edit | edit source]

Now that a basic mailserver has been setup, web access can be both useful and helpful during testing.

SSL Certificates[edit | edit source]

Securing the mail server with SSL certificates.

DKIM[edit | edit source]

Signing all outgoing messages with verification keys to prevent ending up in the junk box.

Refining the Setup[edit | edit source]

Using default Postfix configuration options, the server gets some performance tweaks and security settings.

Anti-Spam Measures[edit | edit source]

Amavisd, Spam-Assassin and ClamAV[edit | edit source]

Defending against spam using Amavis, Spam-assassin and ClamAV for virus protection.

Log Analyzer[edit | edit source]

Logging mail traffic with AWStats[edit | edit source]

Always important is monitoring. To do so AWStats is used to get a useful overview of passed messages.

This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.