Courier-Imap
Courier IMAP:只讀郵箱?
是否可以將特定郵箱(Maildir)設為只讀?所以使用者只能閱讀、轉發和搜尋郵件,但不能刪除它們?
提前致謝
您可以使用 輕鬆做到這一點
ACLs
,特別是使用命令maildiracl。
找出要放置的正確 ACL 並非易事,找出需要更改 ACL 的文件夾也並非易事。沒有放置正確的 ACL 會在某些郵件客戶端(如 roundcube)上顯示出奇怪的行為,例如,您可能會刪除一條消息,該消息似乎已經消失了,但是如果您瀏覽到另一個文件夾(例如,已發送)並返回收件箱消息再次出現。所以收件箱仍然是只讀的,但我們不希望這種消失/重新出現的混亂。
我最終認為正確的做法是:
lrasiw
在 INBOX 上設置 ACLlrasiw
在已發送文件夾上設置 ACL- 將 lra 的 ACL 設置為 Trash 文件夾
我已經把它放在一個腳本中,你可能會發現它很有用:
root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # cat readonly.single if [ "$#" -ne 1 ] then echo "usage : $0 boite@domain.com" exit 1 fi email="$1" inbox="${1%@*}" dst="/var/vmail/domain/$inbox" set -x maildiracl -set "$dst" "INBOX" owner lrasiw maildiracl -set "$dst" "INBOX.Sent" owner lrasiw maildiracl -set "$dst" "INBOX.Trash" owner lra root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # cat fullaccess.single if [ "$#" -ne 1 ] then echo "usage : $0 boite@domain.com" exit 1 fi email="$1" inbox="${1%@*}" dst="/var/vmail/domain/$inbox" set -x maildiracl -set "$dst" "INBOX" owner aceilrstwx maildiracl -set "$dst" "INBOX.Sent" owner aceilrstwx maildiracl -set "$dst" "INBOX.Trash" owner aceilrstwx root@messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL #