Назад | Перейти на главную страницу

dovecot + squirrelmail: неправильно настроенные почтовые папки

На почтовом сервере, который я пытался настроить, я настроил postfix для доставки почты виртуальному пользователю. user1 (с адресом электронной почты user1@example.com) в файл /var/mail/vhosts/user1@example.com/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 | ...      | user1@example.com | user1@example.com/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/user1@example.com/?

Разве у вас не должно быть

mail_location = mbox:/var/mail/vhosts/%u:INBOX=/var/mail/vhosts/%u/mail

т.е. у вас в настоящее время нет имени пользователя %u переменная в mbox путь, только в INBOX дорожка.