DoveCot + Mysql
Bonne et heureuse année 2009 a la liste. Que cette année soit aussi meilleurs que feu 2008 ;)
Depuis ce matin, je me suis lancé dans l'installation de POSTFIX + POSTFIX Admin + DOVECOT en virtual user avec le support de Mysql.
Entre postfix et Postfix Admin tout fonctionne parfaitement.
Un extrait de mon fichier main.cf:
virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
virtual_mailbox_base = /home/vmail
virtual_gid_maps = static:106
virtual_uid_maps = static:102
Un extrait du fichier mysql_virtual_mailbox_maps.cf:
user = emailAdmin
password = password
hosts = mysql.domain.com
dbname = email
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
Par une simple requette je peux verifier que mon utilisateur virtuel existe dans la base de données.
mysql> SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='email@domain.com' AND active = '1';
+------------------------------------+
| CONCAT(domain,'/',maildir) |
+------------------------------------+
| domain.com/user@domain.com/ |
+------------------------------------+
Et j'ai bien les email d'acheminé dans mon répertoire /home/vmail
Du coté de Dovecot tout se gatte par contre, j'ai configuré dovecot.conf de la sorte de maniere a activer POP3 et IMAP:
protocols = imap pop3
info_log_path = /etc/dovecot/dovecot2.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
auth default {
mechanisms = digest-md5
passdb sql {
args = /etc/dovecot/dovecot-mysql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-mysql.conf
}
}
Et le fichier
db_host = mysql.domain.com
db_port = 3306
db = email
db_user = emailAdmin
db_passwd = password
db_client_flags = 0
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT(domain,'/',maildir) AS maildir, 102 AS uid, 106 AS gid FROM mailbox WHERE username = '%u'
Et de la même manière les deux requetes ci-dessus peuvent etre vérifiées m'ont sorti de bon résultat donc la configuration est bonne. De plus les UID et GID sont corrects:
# id postfix
uid=102(postfix) gid=106(postfix) groups=106(postfix)
Et pire encore lors que je vérifie la liste des ports ouverts le port IMAP et POP ne le sont pas.
Comment faire pour obliger Dovecot a écouter sur ces ports? (en supposant que ce soit le problème)
Reply to: