Postfix Mysql : Différence entre versions
De Wiki NCad
(→Authentification MySQL) |
(→Création de la base de données) |
||
Ligne 17 : | Ligne 17 : | ||
CREATE DATABASE IF NOT EXISTS `postfix` ;<br /> | CREATE DATABASE IF NOT EXISTS `postfix` ;<br /> | ||
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'%'; }} | GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'%'; }} | ||
+ | |||
+ | === Comptes mails et utilisateurs === | ||
+ | |||
+ | groupadd vmail -g 5000 | ||
+ | useradd vmail -u 5000 -g 5000 | ||
+ | mkdir /var/mail/vmail | ||
+ | chown vmail:vmail /var/mail/vmail | ||
+ | chmod 700 /var/mail/vmail | ||
+ | |||
+ | ==== Création de la Table ==== | ||
+ | |||
+ | CREATE TABLE postfix_users ( | ||
+ | id int(11) unsigned NOT NULL auto_increment, | ||
+ | email varchar(128) NOT NULL default '', | ||
+ | clear varchar(128) NOT NULL default '', | ||
+ | crypt varchar(128) NOT NULL default '', | ||
+ | name tinytext NOT NULL, | ||
+ | uid int(11) unsigned NOT NULL default '2000', | ||
+ | gid int(11) unsigned NOT NULL default '2000', | ||
+ | homedir tinytext NOT NULL, | ||
+ | maildir tinytext NOT NULL, | ||
+ | quota tinytext NOT NULL, | ||
+ | access enum('Y','N') NOT NULL default 'Y', | ||
+ | postfix enum('Y','N') NOT NULL default 'Y', | ||
+ | disablepop3 char(1) NOT NULL default '0', | ||
+ | disableimap char(1) NOT NULL default '0', | ||
+ | disablewebmail char(1) NOT NULL default '0', | ||
+ | sharedgroup varchar(128) NOT NULL default '0', | ||
+ | smtpaccess enum('Y','N') NOT NULL default 'Y', | ||
+ | |||
+ | PRIMARY KEY (id), | ||
+ | UNIQUE KEY email (email) | ||
+ | ) ENGINE=MyISAM; | ||
+ | |||
+ | ==== Configuration de Postfix ==== | ||
+ | |||
+ | virtual_mailbox_base = /var/mail/vmail | ||
+ | virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql-virtual-maps.cf | ||
+ | virtual_minimum_uid = 5000 | ||
+ | virtual_uid_maps = static:5000 | ||
+ | virtual_gid_maps = static:5000 | ||
+ | virtual_transport = virtual | ||
+ | |||
+ | ==== Fichiers de configurations ==== | ||
+ | |||
+ | * mysql-virtual-maps.cf | ||
+ | |||
+ | user = mailer | ||
+ | password = motdepasse | ||
+ | dbname = postfix | ||
+ | hosts = 127.0.0.1 | ||
+ | query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y' | ||
+ | |||
+ | * mysql-recipient.cf | ||
+ | |||
+ | user = mailer | ||
+ | password = motdepasse | ||
+ | dbname = postfix | ||
+ | hosts = 127.0.0.1 | ||
+ | query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y' | ||
+ | |||
+ | * mysql-sender.cf | ||
+ | |||
+ | user = mailer | ||
+ | password = motdepasse | ||
+ | dbname = postfix | ||
+ | hosts = 127.0.0.1 | ||
+ | query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y' | ||
+ | |||
+ | == Liens == | ||
+ | |||
+ | * http://www.linuxpedia.fr/doku.php/serveurs/postfix-mysql | ||
+ | * http://doc.ubuntu-fr.org/postfix_mysql_tls_sasl |
Version du 2 février 2014 à 20:14
Sommaire
Installation
- Pour fonctionner avec une base de données MySQL, il faut installer le paquet postfix-mysql :
|
- Si le module est bien installé, la commande suivante devra retourner mysql parmi la liste des bases supportées :
|
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.
|
Comptes mails et utilisateurs
groupadd vmail -g 5000 useradd vmail -u 5000 -g 5000 mkdir /var/mail/vmail chown vmail:vmail /var/mail/vmail chmod 700 /var/mail/vmail
Création de la Table
CREATE TABLE postfix_users ( id int(11) unsigned NOT NULL auto_increment, email varchar(128) NOT NULL default , clear varchar(128) NOT NULL default , crypt varchar(128) NOT NULL default , name tinytext NOT NULL, uid int(11) unsigned NOT NULL default '2000', gid int(11) unsigned NOT NULL default '2000', homedir tinytext NOT NULL, maildir tinytext NOT NULL, quota tinytext NOT NULL, access enum('Y','N') NOT NULL default 'Y', postfix enum('Y','N') NOT NULL default 'Y', disablepop3 char(1) NOT NULL default '0', disableimap char(1) NOT NULL default '0', disablewebmail char(1) NOT NULL default '0', sharedgroup varchar(128) NOT NULL default '0', smtpaccess enum('Y','N') NOT NULL default 'Y',
PRIMARY KEY (id), UNIQUE KEY email (email) ) ENGINE=MyISAM;
Configuration de Postfix
virtual_mailbox_base = /var/mail/vmail virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql-virtual-maps.cf virtual_minimum_uid = 5000 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_transport = virtual
Fichiers de configurations
- mysql-virtual-maps.cf
user = mailer password = motdepasse dbname = postfix hosts = 127.0.0.1 query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y'
- mysql-recipient.cf
user = mailer password = motdepasse dbname = postfix hosts = 127.0.0.1 query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y'
- mysql-sender.cf
user = mailer password = motdepasse dbname = postfix hosts = 127.0.0.1 query = SELECT maildir FROM postfix_users where email='%s' and postfix = 'y'