Email-Server

dovecot + squirrelmail:錯誤配置的郵件文件夾

  • March 11, 2018

在我一直在嘗試設置的郵件伺服器上,我配置了 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,TrashSent是在其中創建的/var/mail/vhosts,其內容在所有虛擬使用者之間共享。

所以,似乎我沒有正確設置一些 home 選項,但我不太清楚配置文件選項在做什麼(在 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,TrashSent目錄位於每個使用者的主目錄中/var/mail/vhosts/user1@example.com/

你不應該有

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

即您目前在路徑中沒有使用者名%u變數mbox,只有在INBOX路徑中。

引用自:https://serverfault.com/questions/901009