dovecot 폴더에 휴지통과 보낸메일 폴더를 추가하자

mail_location = maildir:/var/spool/mail/%u/ 어떤 경우는 유져의 홈디렉토리를 이용하는 경우도 있지요. 예를들어 %u 로 이용하는 유져의 ID가 test1@centis1504.net 라고 하면 아래 디렉토리가 해당 유져의 메일을 저장하는 곳입니다. /var/spool/mail/test1@centis1504.net 실제 디렉토리는 아래와 같이 되어 있지요.

drwx—— 2 postfix mail 4096 4月 18 15:29 2013 cur drwx—— 2 postfix mail 4096 4月 16 13:23 2013 new drwx—— 2 postfix mail 4096 4月 16 13:22 2013 tmp
초기 상태라 아무것도 없습니다만, 이렇게만 하면 폴더관리는 할 수가 있지만 기본적으로 INBOX밖에 없기때문에 Trash나 Sent가 없습니다. 설정에서 가능한지 모르겠지만 아래와 같이 수동으로 폴더를 생성하니까 가능해졌습니다.
# mkdir .INBOX.Sent # mkdir .INBOX.Trash # chown postfix:mail .INBOX.Sent # chown postfix:mail .INBOX.Trash
앞에 . 이 붙은건 dovecot 이 기본적으로 separator = . 라는 설정이 되어 있기 때문입니다. 그리고 subscriptions 파일을 아래와 같이 작성합니다.
INBOX.Sent INBOX.Trash
구독여부(사용여부)를 결정하는 파일인데요. INBOX(수신함)은 기본적으로 사용하므로 추가적으로 사용할 폴더를 여기에 저장하게 됩니다. 참고로 INBOX 는 가장 루트(root)가 되는 폴더이며, 위에서 INBOX.Sent등에서 알 수 있듯이 Sent 및 Trash 는 INBOX의 하위 폴더입니다. INBOX – Sent – Trash 메일 클라이언트에서는 같은 레벨로써 표시하기 때문에 3개 모두 같은 레벨의 폴더로 오해하기 쉽네요. 실제 ActiveSync에서도 FolderSync를 하게 되면 아래와 같이 ParentId가 지정되어 있습니다. ParentId=0은 오직1개 INBOX뿐입니다. [ADD] [DEFAULT_INBOX_FOLDER]:[ee919435], ParentId:[0], name:[Inbox] [ADD] [DEFAULT_SENT_EMAIL_FOLDER]:[7ad6d538], ParentId:[ee919435], name:[Sent] [ADD] [DEFAULT_DELETED_ITEMS_FOLDERS]:[4fff6f4c], ParentId:[ee919435], name:[Trash] 이제 메일 폴더를 작성할때 /var/spool/mail/test1@centis1504.net 에서 메일 폴더가 추가되는것을 알았고, 사용하려면 subscriptions 파일에 이름을 적어주어야 하는것도 알았지요.. 한가지 더! 폴더내의 서브폴더도 구성할 수 있는데 이 경우에도 mail_location 에 만들어집니다. 그럼 어떻게 계층구조를 갖느냐 하면 폴더(디렉토리)이름을 위에서 설명한 separator 로 나누어서 계산합니다. 예를들어 수신함밑에 test1 폴더를 만들고 다시 test1밑에 test2 폴더를 만들었다면 어떻게 될까요? 결과는 아래와 같습니다.
[root@www14473uf test1@centis1504.net]# ll -a 合計 80 drwx—— 9 postfix mail 4096 4月 19 11:58 2013 . drwxrwxr-x. 6 root mail 4096 4月 12 19:40 2013 .. drwxr-xr-x 5 postfix mail 4096 4月 19 11:42 2013 .INBOX.Sent drwxr-xr-x 5 postfix mail 4096 4月 19 11:39 2013 .INBOX.Trash drwx—— 5 postfix mail 4096 4月 19 11:56 2013 .INBOX.test1 ★ drwxr-xr-x 2 postfix mail 4096 4月 19 11:58 2013 .INBOX.test1.test2 ★ drwx—— 2 postfix mail 4096 4月 19 11:25 2013 cur -rw——- 1 postfix mail 325 4月 19 11:25 2013 dovecot-uidlist -rw——- 1 postfix mail 8 4月 19 11:56 2013 dovecot-uidvalidity -r–r–r– 1 postfix mail 0 4月 12 19:43 2013 dovecot-uidvalidity.5167e53f -rw——- 1 postfix mail 20480 4月 19 11:25 2013 dovecot.index.cache -rw——- 1 postfix mail 4104 4月 19 11:25 2013 dovecot.index.log -rw——- 1 postfix mail 1032 4月 19 11:56 2013 dovecot.mailbox.log drwx—— 2 postfix mail 4096 4月 19 11:25 2013 new -rw——- 1 postfix mail 53 4月 19 11:58 2013 subscriptions drwx—— 2 postfix mail 4096 4月 19 11:25 2013 tmp
참고로 separator = / 로 설정하게 되면 실제 폴더 내에 서브폴더가 만들어질 것 같습니다… (미확인) ]]>

Related Posts