更改郵件目錄的位置
標準 Linux 安裝提供了一個 maildir
/var/spool/mail/$user
(實際上是一個包含所有電子郵件的文件,而不是“郵件目錄”),由/var/mail/
.我將在我的安裝中設置託管電子郵件,並且我想將郵件儲存在一個單獨的分區中,該分區可以附加到文件系統以防伺服器重新映像(我已經對諸如此類的服務實施了這種災難恢復措施
mysql
) . 單獨的文件系統是/home
.所以我希望系統郵件被傳遞到
/home/$user/.mail[/]
(最後/
在括號中,因為我不確定是否將郵件包含在目錄中)。目前,我通過將所有電子郵件重定向到我的 ISP 的電子郵件來為我自己的域執行電子郵件,這不會永遠存在(如果我更改 ISP,我必須將所有電子郵件遷移到新的 ISP),因此指示 Postfix 將所有電子郵件重定向
*@example.org
到user@example.com
.我正在考慮
Dovecot
用作電子郵件伺服器,因為它完全支持 SSL。所以首先,在配置 Dovecot 之前,我如何告訴系統將郵件發送到與 /var/spool 不同的目錄中?請注意,cron 會定期向
root
作業不寫入時發送電子郵件/dev/null
,因此配置必須是系統範圍的。
建議使用Maildir目錄格式而不是舊的 mbox 格式來儲存電子郵件。Dovecot 很好地支持 Maildir 格式,並且具有一些優點(沒有鎖定,允許輕鬆增量備份和恢復單個消息。)因此您需要分配一個目錄。
將郵件儲存在
~/Maildir
使用者主目錄中的目錄中是慣例,但沒有什麼能阻止您使用另一個(隱藏的)目錄。您可以使用 Postfix home_mailbox設置配置 Maildir 格式及其位置:
sudo postconf -e "home_mailbox = Maildir/"
這也是為大多數 Dovecot 軟體包配置的預設位置。
另一種方法是將 Postfix 配置為將本地郵件傳遞留給 Dovecot LDA或LMTP。
然後配置 Dovecot 以在正確的位置查找郵件:
mail_location = maildir:~/Maildir
如果郵件使用者實際上擁有本地使用者帳戶(而不是僅作為虛擬郵件使用者存在),您可能希望填充
/etc/skell
Maildir 和新使用者的歡迎消息。