
На почтовом сервере, который я пытаюсь настроить, я настроил postfix для доставки почты виртуальному пользователю user1
(с адресом электронной почты [email protected]
) в файл . Я сделал это, установив:/var/mail/vhosts/[email protected]/mail
# /etc/postfix/main.cfg
virtual_mailbox_maps = mysql:/etc/postfix/virtmailmaps.conf
и:
# /etc/postfix/virtmailmaps.conf
# ...
query = SELECT destination FROM virtusers WHERE email='%s'
В базе данных mysql есть virtusers
таблица:
+----+----------+-------------------+------------------------+
| id | password | email | destination |
+----+----------+-------------------+------------------------+
| 1 | ... | [email protected] | [email protected]/mail |
+----+----------+-------------------+------------------------+
Теперь для голубятни я установил:
mail_location = mbox:/var/mail/vhosts:INBOX=/var/mail/vhosts/%u/mail
и:
password_query = SELECT email as user, password FROM virtusers WHERE email='%u';
Ясно, что я все это настроил так , чтобы оно работало, но когда я захожу в squirrelmail и отправляю/удаляю письма, папки Drafts
и создаются в , а их содержимое становится общим для всех виртуальных пользователей.Trash
Sent
/var/mail/vhosts
Итак, похоже, я не правильно установил какую-то домашнюю опцию, но я не совсем понимаю, что делают опции файла конфигурации (в postfix, dovecot и squirrelmail) и как все это связано. Например, я уже установил:
# /etc/dovecot/conf.d/auth-sql.conf.ext
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%u
}
Как это исправить, чтобы каталоги Drafts
, Trash
и Sent
находились в домашнем каталоге каждого пользователя ?/var/mail/vhosts/[email protected]/
решение1
Разве ты не должен был
mail_location = mbox:/var/mail/vhosts/%u:INBOX=/var/mail/vhosts/%u/mail
%u
т. е. в данный момент в пути нет переменной username mbox
, есть только INBOX
путь.