Всем привет! Переехал с Courier на Dovecot и столкнулся с проблемой при попытке настроить шареные папки.---------------
Dovecot 2.0.18 из портов.
namespace {
separator = .
prefix = INBOX.
inbox = yes
type = private
}
namespace {
type = shared
separator = .
prefix = INBOX.shared.%%u.
list = yes
subscriptions = no
hidden = no
location = maildir:%%h
}
password_query = \
SELECT email as username, password \
FROM users WHERE email = '%n@%d'
user_query = SELECT CONCAT('/var/spool/mail/', SUBSTRING_INDEX(email, '@', -1), '/', SUBSTRING_INDEX(email, '@', 1)) as home from `users` WHERE email='%n@%d'
---------------
Расшарил ящик 'victor@domain.com' для 'victor@testmail.domain.com'
Проверяю:
doveadm acl debug -u victor@testmail.domain.com INBOX.shared.victor@domain.com.
doveadm(victor@testmail.domain.com): Error: Couldn't create namespace 'INBOX.shared.' for user victor@domain: userdb didn't return a home directory, but mail_location used it (%h): maildir:%h
Смотрю в дебаг-лог:
auth-worker: Debug: sql(victor@domain): SELECT CONCAT('/var/spool/mail/', SUBSTRING_INDEX(email, '@', -1), '/', SUBSTRING_INDEX(email, '@', 1)) as home from `users` WHERE email='victor@domain'
Отсюда видно, что 'victor@domain' - обрезанный логин от 'victor@domain.com'.
Получается, что когда Dovecot берет домен (%%d) из acl, то он обрезает его до первой точки.
Кто знает куда копать?