
在我一直嘗試設定的郵件伺服器上,我已配置 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
所以,看來我沒有正確設定一些 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
、Trash
和Sent
目錄位於每個使用者的主目錄中?/var/mail/vhosts/[email protected]/
答案1
你不應該有
mail_location = mbox:/var/mail/vhosts/%u:INBOX=/var/mail/vhosts/%u/mail
即您目前在路徑中沒有使用者名稱%u
變量mbox
,僅在INBOX
路徑中。