Я нахожусь в процессе установки почтового сервера, и я надеялся получить некоторую справку. Это запускается с веб-почты Roundcube, когда я пытался войти в систему с существующим корректным именем пользователя и паролем, это дает мне 'Вход в систему, отказавший', таким образом, я проверил журнал ошибок в /var/log/mail.log
и я узнал, что существует ошибка, которая говорит
dovecot: auth-worker(10370): Error: sql(xxx@xxxxxxxx.com,127.0.0.1): Password query
failed: You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to
use near ''maildir:/var/vmail/...' as userdb_mail, 150 as userd' at line 1
и когда я проверяю запрос пароля в /etc/dovecot/dovecot-sql.conf.ext
password_query = \
SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, \
'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid \
FROM mailbox WHERE username = '%u' AND active = '1'
который, кажется, является правильным?
У кого-либо есть идея?
Tukar fail konfigurasi anda dengan pertanyaan SQL seperti itu:
. . . . .
password_query= SELECT username as user, \
password \
FROM mailbox \
WHERE username = '%n@%d' \
AND active=1
user_query = SELECT maildir AS userdb_home, \
150 AS userdb_uid, \
8 AS userdb_gid, \
FROM mailbox \
WHERE username = '%n@%d' \
AND active=1
iterate_query = SELECT username AS user FROM mailbox
. . . . .
Perlu diingat bahawa tidak ada aksara kecuali [ENTER] yang dibenarkan selepas garis miring terbalik.
Tambahkan blok seterusnya ke config.local.php
dari postfixadmin
:
. . . . .
$CONF['maildir_name_hook'] = 'mdname';
function mdname ($domain, $user) {
$part=explode("@", strtolower($user) );
return sprintf("/var/vmail/%s/%s/", $part[1], $part[0]);
}
. . . . .