在linux下的郵件一般有兩種形式,一種是mbox形式,一種是maildir形式,mbox是以一個txt文件的形式存儲用戶的郵件,而maildir是以一個目錄的形式,目錄下又分成tmp,cur,new三個目錄,用戶寫郵件、發送郵件、接收郵件將使用不同的目錄。關於mbox與maildir的區別可以參考以下文章:
http://www.linuxmail.info/mbox-maildir-mail-storage-formats/
postfix、dovecot、courier支持兩種方式,而openwebmail只運行mbox方式。postfix默認的是mbox方式,要想修改爲maildir,可以按以下步驟:
1、修改/etc/courier/imapd,最後一行修改爲MAILDIRPATH=Maildir/
2、修改/etc/postfix/main.cf,找到以下行
mailbox_command = procmail -a "$EXTENSION"
修改爲
mailbox_command = procmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir (爲一行)
3、重啓courier、postfix服務
service courier restart 或者 /etc/init,d/courier-imap restart
service postfix restart 或者 /etc/init.d/postfix restart
ps: maildir方式默認會在收到第一封郵件時自動在/home/USER/下新建Maildir目錄,及目錄下的cur, new, tmp目錄。 如果想手動創建,可以用以下方式
# cd /home/User
# maildirmake Maildir
# chown -R User:User Maildir
# chmod -R 750 Maildir
步驟2可參考以下:
If you are using the built in delivery agent you should put this into /etc/postfix/main.cf:
home_mailbox = Maildir/
If you are using procmail as your delivery agent, you should put this into /etc/postfix/main.cf (it is all one line):
mailbox_command = /usr/bin/procmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir
When the mailbox location does not end in /, the message is delivered in UNIX mailbox format. This format stores multiple messages in one textfile.
When the mailbox location ends in /, the message is delivered in qmail maildir format. This format stores one message per file
MTA: postfix
修改 main.cf
home_mailbox = Maildir/
MDA: procmail
修改 /etc/procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=$HOME/Maildir/ (後面要加 / )
POP3: dovecot
修改 dovecot.conf
default_mail_env = maildir:/home/%u/Maildir
MUA: mutt
參考 rafan's blog » 從 mbox 到 maildir
把mbox郵箱格式轉化爲maildir格式可以使用一個工具mb2mb
http://batleth.sapienti-sat.org/projects/mb2md/
參考資料:
http://www.linuxmail.info/mbox-maildir-mail-storage-formats/