структура таблицы users бд mysql:
Код: Выделить всё
username domain password maildir quota gid uid
test xxxxxxx.xx $1$tyTgp8vM$HfdvX1v5St xxxxxxx.xx/test 50000000 89 89
dovecot.conf:
Код: Выделить всё
protocols = pop3
disable_plaintext_auth = no
ssl_disable = yes
login_dir = /var/run/dovecot/login
login_user = dovecot
mail_extra_groups = vchkpw
mmap_disable = yes
first_valid_uid = 89
first_valid_gid = 89
valid_chroot_dirs = /usr/home/vpopmail/
protocol pop3 {
login_executable = /usr/local/libexec/dovecot/pop3-login
mail_executable = /usr/local/libexec/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
}
auth_verbose = yes
auth_debug = yes
auth default {
mechanisms = plain
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
}
dovecot-sql.conf:
Код: Выделить всё
driver = mysql
connect = host=xx.xx.xx.xx dbname=maildb user=sqluser password=xxxxx
default_pass_scheme = CRYPT
password_query = SELECT password FROM users WHERE username = '%u'
user_query = SELECT CONCAT("/usr/home/vpopmail/domains/", maildir), uid, gid FROM users WHERE username = '%u'
при тестовом подключении в логе такая пурга:
Код: Выделить всё
Jul 30 01:09:22 smtp1 dovecot: auth(default): client in: AUTH 1 PLAIN service=POP3 lip=xx.xx.xx.xx
rip=xx.xx.xx.xx resp=<hidden>
Jul 30 01:09:22 smtp1 dovecot: auth-worker(default): sql(test,xx.xx.xx.xx): query: SELECT password FROM users WHERE username = 'test'
Jul 30 01:09:22 smtp1 dovecot: auth(default): client out: OK 1 user=test
Jul 30 01:09:22 smtp1 dovecot: auth(default): master in: REQUEST 1 61432 1
Jul 30 01:09:22 smtp1 dovecot: auth-worker(default): sql(test,xx.xx.xx.xx): SELECT CONCAT("/usr/home/vpopmail/domains/", maildir), uid, gid FROM users WHERE username = 'test'
Jul 30 01:09:22 smtp1 dovecot: auth(default): master out: USER 1 test CONCAT("/usr/home/vpopmail/domains/", maildir)=/usr/home/vpopmail/domains/xxxxxxx.xx/test uid=89 gid=89
Jul 30 01:09:22 smtp1 dovecot: pop3-login: Login: user=<test>, method=PLAIN, rip=xx.xx.xx.xx, lip=xx.xx.xx.xx
Jul 30 01:09:22 smtp1 dovecot: POP3(tetst): mbox: Can't create root IMAP folder /mail: Permission denied
Jul 30 01:09:22 smtp1 dovecot: POP3(test): MAIL environment missing and autodetection failed (home )
Jul 30 01:09:22 smtp1 dovecot: child 61438 (pop3) returned error 89
при чем, если прописать
default_mail_env = maildir:/usr/home/vpopmail/domains
в указанной директории создаются папки cur, new, tmp и все пашет..
система нормально работает с курьером, решил попробовать перейти на dovecot - не получилось %)