Vpopmail is one of the major components of this installation. Vpopmail allows us to do virtual domain mail hosting. It's got a lot of built in tools and features that make it a dream to work with. Even if you don't want to host mail for multiple domains, I would still recommend installing Vpopmail. It just makes the whole mail game easier. Plus, this installation centers around it, so if you don't install it you're going to have a headache.
Create the needed Database.
The used MySQL_root_password should be the password chosen on pre-step 3. It's should not be the same as the password for vpopmailuser (VPOPMAIL_PASSWORD).
It's not a typo, the MySQL_root_password should really be just aside the -p
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'VPOPMAIL_PASSWORD';
Test your the account you have just created
You should have such response
Your MySQL connection id is 1073
Server version: 5.5.47-0+deb8u1 (Debian)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Prepare the installation
chown -R vpopmail:vchkpw /home/vpopmail
chmod 770 /home/vpopmail
Do not forget to put your OWN chosen MySQL password for vpopmailuser (refered as VPOPMAIL_PASSWORD in this guide)
chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
tar zxvf vpopmail-5.4.33.tar.gz
make && make install-strip
You can find HERE all compilation options.
Note that vpopmail is not configured here with spamassassin option. This is is due to the fact spamassassin will be used during the SMTP conversation thanks to Simscan. Nevertheless, if you want spamassasisn to be used during local delivery to Maildir (=to mailbox), just add the configuration option --enable-spamassassin
This file modification is needed to avoid a segmentation fault in some case
Disable = True;
Put binaries into $PATH variable
chmod +x /etc/profile.d/extrapath.sh