[클러스터] 메일 클러스터 HA 시 Mailbox 위치 변경하기
센드메일,procmail,wu-imap2002d,redhat9 기준입니다.
받는 역할을 하는 센드메일 서버에 메일이 들어오면 센드메일은 /var/spool/mqueue에 임시적으로
메일을 저장하고 /etc/passwd, nis map, ldap map, db map 등을 뒤져 메일을 받을 사용자가 있는지 없는지를
검색합니다. 만약 있으면 이 메일을 procmail에게 넘기고 procmail은 기본적으로 /var/spool/mail/$USER파일에
메일을 씁니다.
그리고 윈도우즈 아웃룩익스프레스에서 imap 서버에 접속하여 메일을 조회하면 imap 서버 역시 기본적으로 /var/spool/mail/$USER파일을 검색해서 메일을 클라이언트에게 보여줍니다.
여기서 /etc/procmailrc를 생성하여 DEFAULT=$HOME/mailbox라고 써주고 저장한 다음에
wu-imap2002d 소스를 약간 수정해 줍니다.
vi +807 /usr/local/src/imap-2002d/src/osdep/unix/env_unix.c (807번줄을 수정해 줍니다.)
sprintf (tmp,”%s/%s”,MAILSPOOL,myusername ()); // 이 줄을
sprintf (tmp,”%s/mailbox”,myhomedir ()); // 이렇게 고쳐 주고 저장합니다.
그리고 imap을 컴파일해서 클라이언트에서 메일을 검색할 수 있게 잘 설정해 줍니다.
이렇게 설정하면 센드메일에게서 받은 메일을 procmail은 각 사용자의 홈디렉토리의 mailbox에 메일을 쓰게되고
아웃룩익스프레스로 imap이나 pop서버에 접속했을 때 imap 서버도 각 사용자의 홈디렉토리의 mailbox에서 메일을 읽어와
클라이언트에게 보여줍니다.
쿼터 설정도 쉽게 해줄수 있고 확장성(?) 좋겠다는 생각이 들기도 하긴 하는데…꽁(꼼?)수였습니다~