[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: