Unix/Ubuntu

Maildir 사용하기

ForceCore 2009. 7. 16. 15:28
IMAP 서버를 사용하는데 있어 가장 중요한 것이,
mailbox방식이 아닌 maildir방식으로 유저 메일함을 관리하도록 서버를 설정해야 된다는 것이다.
Maildir방식으로 메일함을 관리하지 않아도 시스템이 되기는 한다. 다만... 무려, 하위폴더를 만들 수 없다는 치명적인 단점이 존재한다. 그리고 IMAP을 쓰면 필연적으로 유저들이 여러가지 메일을 서버에 쌓기만 하고 삭제는 잘 안 할텐데, mbox 크기가 엄청나게 커져서 나중에 시스템을 말아먹을지도 모른다 -_-;;

http://www.perturb.org/display/entry/691/
http://sukwoo.blogspot.com/2008/08/ubuntu-mail-server.html

설정은 옛날에 데스크탑 PC에 했었는데(!)... 기억이 안 나서 컨닝좀 해야 할듯. 물론 그때도 컨닝으로 설정했었지만 -_-;;

우선은 postfix의 main.cf 에서 설정을 좀 변경해줘야 한다.

# use maildir format
home_mailbox = Maildir/

이 설정을 넣어주자. 두번째 링크의 컨닝교재는 procmail을 쓰지 못한다고 되어있는데, 사실이 아니다. 그리고 procmail은 되도록 살리고 싶음. 그런 고로, 다른 교재를 또 찾았다.

http://steveyoung.wordpress.com/2007/01/15/17/
http://www.redhat.com/archives/rhl-list/2005-January/msg00974.html

내용을 참고해서 필자의 /etc/procmailrc를 작성햐였다.
아래 적힌 내용은, procmailrc 파일의 맨 앞부분에 와야만 한다.

#
# run as user privilege.
#
DROPPRIVS=yes

#
# use Maildir
#
DEFAULT=$HOME/Maildir/

#
# Make sure that $HOME/Maildir/ exist!
#
:0
* ? /usr/bin/test -d $DEFAULT || /bin/mkdir $DEFAULT
{ }
:0 E
{
    # Bail out if directory could not be created
    EXITCODE=127
    HOST=bail.out
}

#
# Change to DEFAULT directory
#
MAILDIR=$HOME/Maildir

#
# 이하 기타 설정 생략
#

마지막으로 dovecot도 Maildir을 지원하도록 만들어야 한다.

/etc/dovecot/dovecot.conf
 mail_location = maildir:~/Maildir
이렇게 바꾸면 되는 듯?!... 바꾼게 아니고, 코멘트 되어 있던 것을 켜기만 했다.
잘 된다. 가장 큰 문제는 뭐냐면. 매우 빨리 해야 한다는것 -_-;;
이 작업을 하는 동안에 오는 메일은 Maildir가 아니라 mbox에 저장되는 수가 있는데 그런 일이 없도록 postfix를 끄고 postfix를 가장 나중에 켜도록 한다.