setup:mx_v2
This is an old revision of the document!
Table of Contents
MX Setup
Environment Setup
VMail folder
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /var/vmail -m
SQL
USE mail; CREATE TABLE domains ( DOMAIN VARCHAR(50) NOT NULL, PRIMARY KEY (DOMAIN) ) ENGINE=MyISAM; CREATE TABLE forwardings ( SOURCE VARCHAR(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (SOURCE) ) ENGINE=MyISAM; CREATE TABLE users ( email VARCHAR(80) NOT NULL, password VARCHAR(20) NOT NULL, quota INT(10) DEFAULT '10485760', PRIMARY KEY (email) ) ENGINE=MyISAM; CREATE TABLE transport ( DOMAIN VARCHAR(128) NOT NULL DEFAULT '', transport VARCHAR(128) NOT NULL DEFAULT '', UNIQUE KEY DOMAIN (DOMAIN) ) ENGINE=MyISAM;
cat > /etc/postfix/mysql-virtual_alias.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT destination FROM forwardings WHERE source='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_domains.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT domain AS virtual FROM domains WHERE domain='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_forwardings.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT destination FROM forwardings WHERE source='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_mailboxes.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_email2email.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT email FROM users WHERE email='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_transports.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT transport FROM transport WHERE domain='%s' hosts = 127.0.0.1 EOF cat > /etc/postfix/mysql-virtual_mailbox_limit_maps.cf <<EOF user = mail_admin password = mail_admin_password dbname = mail query = SELECT quota FROM users WHERE email='%s' hosts = 127.0.0.1 EOF chmod o= /etc/postfix/mysql-virtual_*.cf chgrp postfix /etc/postfix/mysql-virtual_*.cf
Packages Install
apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql
Dovecot-lda
SPF Milter
DKIM Milter
DMARC Milter
Spamassassin Milter
ClamAV Milter?
setup/mx_v2.1534495481.txt.gz · Last modified: 2018/08/17 10:44 by root