Dovecot et les alias

Installation, correction des bugs, domaines
BBR18
Messages : 301
Enregistré le : 02 Nov 2014, 09:05

Dovecot et les alias

Message non lupar BBR18 » 16 Aoû 2016, 14:03

trouvez les requetes SQL dans /etc/dovecot/dovecot-sql.conf.ext

Voici son contenu par défaut :
----------

Code : Tout sélectionner

driver = mysql
connect = host=localhost
dbname=mail
user=mailadmin
password=xxxx
default_pass_scheme = MD5
user_query = SELECT concat('maildir:/var/mail/',mailbox.domain , '/' , local_part) AS mail, 500 AS uid, 101 AS gid, concat('/var/mail/',mailbox.domain,'/',local_part) AS home, concat('*:storage=', round(quota/1024)) as quota_rule from mailbox,alias WHERE (username="%u" or (username=goto and address="%u" and alias.active=1)) and mailbox.domain="%d" and mailbox.active=1

password_query = SELECT username as user, password, concat('/var/mail/',domain,'/',local_part,'/') as userdb_home, 500 as userdb_uid, 101 as userdb_gid, CONCAT('dirsize:storage=', ROUND(quota/1024)) AS userdb_quota_rule from mailbox where username='%n@%d' and domain="%d" and active=1



j'avais 2 problèmes , un pas trop grave, l'autre plus embêtant, quand on gère des alias de domaines.

exemple : domaine1.com
avec : domaine2.com, alias de domaine1.com

* premier problème (pas le plus grave) : impossible de ce connecter avec user@domaine2.com, pas très grave, mais un peu chiant quand on utilise plutôt le domaine2.com que le 1.
* 2eme problème (plus embêtant) quand on utilise le smtp de postfix de la machine, pour écrire en interne sur @domaine2.com, j'avais un mailer demon , dovecot disait a postfix que l'utilisateur n'existait pas, alors que la réception sur un utilisateur @domaine2.com depuis un autre serveur smtp était Ok.

J'ai donc remplacé les 2 requêtes SQL par les suivantes pour gérer la table "alias_domain", et j'ai aussi corrigé la requête de user_query, ou la jointure n'est pas bonne, si vous faites un test, le serveur me renvoie pour ma part 147 lignes identiques (car dans ma table alias, j'ai 147 comptes)... donc y a bien un bug aussi la dessus !

Voici mes nouvelles requêtes, dites moi ce que vous en pensez, si j'ai fait une erreur quelque part, n’hésitez pas à me dire.....

Code : Tout sélectionner

user_query = SELECT concat('maildir:/var/mail/',mailbox.domain , '/' , local_part) AS mail, 500 AS uid, 101 AS gid, concat('/var/mail/',mailbox.domain,'/',local_part) AS home, concat('*:storage=', round(quota/1024)) as quota_rule FROM mailbox LEFT JOIN alias ON mailbox.username=alias.goto LEFT JOIN alias_domain ON alias_domain.target_domain = mailbox.domain WHERE ( mailbox.username= CONCAT("%n@", mailbox.domain) OR (alias.address= CONCAT("%n@", mailbox.domain) and alias.active=1) ) AND ( (mailbox.domain="%d" AND mailbox.active=1) OR (alias_domain.alias_domain="%d" AND alias_domain.active=1) )


password_query = SELECT username as user, password, concat('/var/mail/',domain,'/',local_part,'/') as userdb_home, 500 as userdb_uid, 101 as userdb_gid, CONCAT('dirsize:storage=', ROUND(quota/1024)) AS userdb_quota_rule from mailbox LEFT JOIN alias_domain ON domain = target_domain WHERE ( (mailbox.username='%n@%d' AND mailbox.domain="%d" AND mailbox.active=1) OR (mailbox.username= CONCAT('%n@', target_domain) AND alias_domain.alias_domain="%d" AND alias_domain.active=1 AND mailbox.active=1) )


J.

Retourner vers « Release 3 OVH »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité