Postfix Mysql

De Wiki NCad
Révision de 2 février 2014 à 19:52 par Cacheln (discuter | contributions) (Installation)

Aller à : navigation, rechercher

Installation

  • Pour fonctionner avec une base de données MySQL, il faut installer le paquet postfix-mysql :
ICON Terminal.png

sudo apt-get install postfix-mysql

  • Si le module est bien installé, la commande suivante devra retourner mysql parmi la liste des bases supportées :
ICON Terminal.png

postconf -m

Authentification MySQL

Création de la base de données

  • Création de l'utilisateur mysql postfix avec le mot de passe motdepassebasemysqlpourpostfix et sa base de données nommé postfix avec les droits nécessaires.
ICON Terminal.png

CREATE USER 'postfix'@'%' IDENTIFIED BY 'motdepassebasemysqlpourpostfix';
GRANT USAGE ON * . * TO 'postfix'@'%' IDENTIFIED BY 'motdepassebasemysqlpourpostfix' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `postfix` ;
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'%';

Création du fichier mysql_relay_domains_maps.cf

user = postfix
password = motdepassebasemysqlpourpostfix
hosts = 192.168.1.123
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'

Création du fichier mysql_virtual_alias_maps.cf

user = postfix
password = motdepassebasemysqlpourpostfix
hosts = 192.168.1.123
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = 1

Création du fichier mysql_virtual_domains_maps.cf

user = postfix
password = motdepassebasemysqlpourpostfix
hosts = 192.168.1.123
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s'

Création du fichier mysql_virtual_mailbox_limit_maps.cf

user = postfix
password = motdepassebasemysqlpourpostfix
hosts = 192.168.1.123
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s'

Création du fichier mysql_virtual_mailbox_maps.cf

user = postfix
password = motdepassebasemysqlpourpostfix
hosts = 192.168.1.123
dbname = postfix
query = SELECT maildir FROM mailbox WHERE  CONCAT(username,'@',domain)='%s' AND active = 1

Edition du fichier /etc/postfix/main.conf

# Support Mysql
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 5000
virtual_transport = virtual
virtual_uid_maps = static:5000
# Support du quota
virtual_mailbox_limit = 504000000
# virtual_create_maildirsize = yes
# virtual_mailbox_extended = yes