It is common these days for a single system to host many domains, for example uniswa. com and mtn. com or acme. com may run on a single host machine, but behave as if they were on three different hosts. A system usually has a canonical domain, it has its usual or local domain name, and additional domains are configured as virtual domains. The purpose behind this work is to create a mail server solution based on Postfix that is based on virtual users and domains, i. e. users and domains that are in a MySQL database. The goal is to have completely virtual users and domains. This means creating a separate name spaces for reach domain.It will also demonstrate the installation and configuration of Courier-Imap (IMAP/POP3), so it can authenticate against the same MySQL database Postfix uses. The resulting postfix server is capable of quota which is not built into Postfix by default; the project will demonstrate how to patch postfix appropriately. Passwords are stored in encrypted form in the database. The work also covers the installation of Mail Scanner, SpamAssassin and ClamAv so that emails will be scanned for spams and viruses. The administration of MySQL database can be done through a web based tool Postfixadmin or can be done manually in the MySQL shell. Postfixadmin is a web based management tool created for Postfix that handles Postfix style virtual domains and users that are stored in MySQL. The squirrelmail web based email client is installed.