email server

Overview
An email server is server software which accepts email for one or more recipients and stores it until deleted by an email client (usually as part of the delivery process). The term "email server" may refer to the software, the hardware on which the software runs, or the combination of the two.

In order for a minimal email server to function, the following must happen:
 * The hardware must have MTA (to receive email) and MDA (for clients to pick up the mail) server software installed and working
 * The domain(s) for which the server is expected to handle email must have at least one MX record pointing to the server's IP address or hostname (otherwise nobody else will know how to deliver email sent to those domains)
 * If the server is behind a firewall, that firewall must be configured:
 * to route incoming SMTP connections to the server
 * to route incoming POP3 and/or IMAP connections to the server (if users need to connect from outside the firewall)

The tricky part of configuring the server appears to be the account names and aliases; these can be configured via a baffling array of standards which I have not yet figured out. The "easy way" seems to be to configure it via a control panel such as Webmin.

Terminology

 * MTA: Mail Transfer Agent or Mail Transport Agent - sends and receives email to and from other servers on the Internet (usually via SMTP)
 * MDA: Mail Delivery Agent - hold emails for delivery to users (usually via POP3 or IMAP)
 * POP3: the current version of the Post Office Protocol which allows an email client to retrieve mail from a server
 * IMAP: Internet Mail Access Protocol
 * SMTP: Simple Mail Transfer Protocol

stacks
These packages include both the MTA and MDA.
 * Dovecot: fully supported by Ubuntu; uses Postfix (MTA), supports POP3 and IMAP

not sure

 * Courier

web-based clients

 * squirrelmail

see also groupware

POP3/IMAP

 * Dovecot

SMTP

 * Postfix

Tools

 * MXToolBox SuperTool: checks your email server for problems by attempting a connection
 * Note that this does not detect problems with SASL authentication, which some remote servers will attempt to use. If email from some servers seems to be vanishing without a trace (or occasionally being bounced with errors that indicate that the connection to your server keeps being lost), search the mail logs (e.g. mail.log) for the domain of the remote server, look for error messages, and Google them.

Setup
For now, a collection of links:
 * 2009-06-11 How to set up a (Postfix) mail server on a GNU / Linux system "Based on an Ubuntu distribution platform, but instructions are distro generic."
 * 2004-12-15 Email Server Setup: a 5-page article