Dovecot не может обнаружение пользователя

Спецификация системы: Ubuntu 18.04, Postfix 3.3.0, dovecot 2.2.33.2


Я следил этому руководству vimbadmin . Но безуспешно. Dovecot не обнаруживает почтовый ящик.

Я запустил этот код:

postmap -q fandi@mysite.com mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf

Я получил:

maildir:/srv/vmail/icodeformoney.com/fandi/mail:LAYOUT=fs

Но когда я запустил:

dovecot user fandi@icodeformoney.com

Я получил:

field   value
userdb lookup: user fandi@icodeformoney.com doesn't exist

Я уже получил virtual_mailbox_maps = mysql: / etc / postfix / mysql / virtual_mailbox_maps. cf в /etc/postfix/main.cf

Содержимое /etc/postfix/mysql/virtual_mailbox_maps.cf :

user = vimbadmin
password = mypass
hosts = 127.0.0.1
dbname = vimbadmin
table = mailbox
select_field = maildir
where_field = username

Пожалуйста, помогите мне отладить / решить эту проблему.


Редактировать 1

Мой dovecot-sql.conf.ext

driver = mysql

connect = host=localhost user=vimbadmin password=mypass dbname=vimbadmin
default_pass_scheme = SHA512-CRYPT

password_query = SELECT username as user, password as password, \
    homedir AS userdb_home, maildir AS userdb_mail, \
    concat('*:bytes=', quota) as userdb_quota_rule, uid AS userdb_uid, gid AS userdb_gid \
  FROM mailbox \
    WHERE username = '%Lu' AND active = '1' \
    AND ( access_restriction = 'ALL' OR LOCATE( '%Us', access_restriction ) > 0 )

user_query = SELECT homedir AS home, maildir AS mail, \
    concat('*:bytes=', quota) as quota_rule, uid, gid \
  FROM mailbox WHERE username = '%u'
0
задан 18 July 2019 в 07:05
4 ответа

Я отладил проблему с помощью dovecot -n

Почему-то мне не удалось найти в конфигурации:

passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}

Вместо этого я нашел:

passdb {
  driver=pam
}

Тогда вместо того, чтобы вдаваться в каждую файл туда и обратно, я сделал это (я был в моем домашнем каталоге):

sudo cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.old
doveconf -n > dovecot.conf
sudo cp doveconf.conf /etc/dovecot/dovecot.conf

И исправил passdb и userdb.

0
ответ дан 23 November 2019 в 22:51

chì versione di postfix è dovecot aduprate? Cumu pare a cunfigurazione sqec dovecot? -> A cunfigurazione Postfix ùn hè micca rispunsevule per dovecot.

Una cunfigurazione validu dovecot (cunfigurazione Attenzione, quistione sql utilizata per postfixadmin micca vbadmin), duveria esse cusì:

/etc/dovecot/dovecot-sql.conf

    driver = mysql
connect = host=<dbhost> dbname=<maildb> user=<maildb> password=<password>
default_pass_scheme = MD5-CRYPT
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 303 AS uid, 303 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 303 as userdb_uid, 303 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

Rimpiazzà i valori <...> cù i vostri dati. esse 127.0.0.1

È deve esse implementatu da:

    passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

Includendu File: /etc/dovecot/conf.d/auth-sql.conf o in /etc/dovecot/dovecot.conf

Basatu annantu à un sistema Opensuse 15.1 è u dovecot 2.3.3

0
ответ дан 23 November 2019 в 22:51

Rinominà dovecot-sql.conf.ext à dovecot-sql.conf da esse inclusu.

E dovecot.conf? Serà inclusu quì?

0
ответ дан 23 November 2019 в 22:51

@Fandi Susanto,

это правильный способ использовать conf.d / * для включения.

Но, как правило, необходимые файлы должны быть переименованы с * .conf.ext на * .conf. Они представлены в качестве примера, но должны быть изменены в соответствии с вашими требованиями. Я думаю, чтобы избежать злоумышленников или проблем с безопасностью, файлы не будут включены по умолчанию.

0
ответ дан 23 November 2019 в 22:51

Теги

Похожие вопросы