제목: 센드메일 서버 구축
리눅스의 모든 것 책 882쪽에 있는 내용입니다. 지난 시간에는 네임서버를 구축하는 방법을 살펴 보았는데, 이번 시간에는 메일 서버를 구축하는 방법에 대해서 살펴봅니다. 메일 서버를 구축하기 전에 네임서버에서 메일서버로 사용되는 도메인에 대해서 MX 레코드로 설정되어 있어야 합니다. 그러면 no1.joayo.net의 예제를 살펴보죠.
IN MX 10 no1.joayo.net.
상기 설정이 네임서버에서 설정되어 있어야 hello@no1.joayo.net 형태로 메일이 올 때 어떤 서버에서 메일을 핸들링할 것인가를 결정됩니다. host no1.joayo.net 명령을 실행해 보면 다음과 같이 메일을 핸들링하는 호스트명이 보여집니다. 즉 no1.joayo.net로 오는 메일들은 no1.joayo.net에서 처리된다고 네임서버가 알려 주게 됩니다.

상기 설정이 되어 있어야 메일 서버를 구축한 후에 외부로부터 메일을 받을 수 있게 됩니다. 이 준비 과정을 확인한 후에 메일서버 구축에 들어갑니다.
1. 시냅틱을 실행하여 [검색] 도구 아이콘을 클릭한 다음 sendmail를 입력하여 검색하여 설치 표시를 체크합니다.
2. [적용] 버튼을 클릭하여 센드메일 패키지를 설치합니다.
3. 패키지 설치가 완료되면 콘솔 터미널창을 열어 /etc/mail/local-host-names 파일에 메일서버로 사용할 호스트명을 입력합니다.
4. 센드메일 데몬을 시작합니다.
5. 센드메일 서버가 동작하고 있는지를 확인하기 위하여 텔넷으로 TCP 25번 포트로 접속해 봅니다. 정상적으로 동작할 경우에 이스케이프 문자가 보이고, 서버 정보가 보입니다.
6. 여러분이 공유기를 사용하는 네트워크 환경에서 메일서버를 운영한다면 공유기에서 TCP 25번 포트를 메일서버에 할당된 내부 아이피로 포트 포워딩을 해 주어야 합니다. 그렇지 않으면 메일 서버가 제대로 동작할 수 없게 됩니다. 포트 포워딩에 대한 설명은 하지 않으므로 여러분이 공유기 관리자 모드로 들어가서 메뉴를 찾아 직접 해 보시기 바랍니다. 그리고 메일서버에 방화벽이 설정되어 있는 경우 /etc/shorewall/rules 또는 /etc/shorewall/rules.drakx에 TCP 25번 포트를 추가해야 주고 shorewall를 재실행해 주어야 합니다. 책에서 스텝5이후에 shorewall를 재시작하라는 언급이 없는데, 반드시 다음과 같이 재시작해 주어야 합니다.
# /etc/init.d/shorewall restart 또는 service shorewall restart
7. 이제 구글이나 네이버 메일을 이용하여 여러분이 설정한 주소로 메일을 보내어 메일을 받는지를 확인해 보면 됩니다.
8. 메일이 수신되었는지 여부는 /var/mail 디렉토리로 이동하여 여러분 계정으로 된 파일이 존재하는지를 체크해 보면 됩니다.
메일은 도착하였으나, 이제 메일을 모질라 썬더버드나 에볼루션과 같은 이메일 프로그램에서 볼 수 있게 끔 하려면 POP또는 IMAP 서버를 구축해야 합니다. 콘솔에서 보는 방법이 있으나, 불편할 뿐더러 HTML로 된 메일들은 확인은 어려우므로, GUI 프로그램에서 이메일을 받아 볼 수 있도록 POP/IMAP 서버를 구축해 봅니다.
1. 시냅틱을 실행하여 dovecot를 키워드로 검색하여 dovecot 패키지를 선택하여 설치합니다. 여기서 주의할 점은 패키지가 pclos가 아닌 no1linux용 패키지인지를 확인하여 설치하기 바랍니다. 만일 no1linux용 패키지가 아닌 pclos용으로 나온다면 리포지토리 서버 설정에서 no1linux 리포지토리 서버가 활성화되어 있는지를 확인해 보기 바랍니다.
2. vi 편집기로 /etc/dovecot/dovecot.conf 파일을 편집하는데, 20번째 라인의 protocols 옵션 앞에 있는 주석을 제거합니다.
주석을 제거하고 편집기 설정을 저장하고 종료합니다.(Esc -> :wq)
3. /etc/init.d/dovecot 파일을 vi 편집기로 열어서 28라인의 /etc/dovecot.conf를 /etc/dovecot/dovecot.conf로 수정하거나 다음 명령으로 심볼릭 링크를 겁니다.
# ln -s /etc/dovecot/dovecot.conf /etc/dovecot.conf
4. dovecot 서비스를 시작 또는 재시작합니다.

5. dovecot의 pop 프로토콜은 TCP 110번 포트를 사용하며, imap 프로토콜은 143을 사용합니다. 텔넷으로 110번 포트에 접속하여 접속되는지 확인합니다.
상기와 같이 나온다면 이메일 프로그램에서 pop 설정을 통하고 메일 가져오기를 하게 되면 서버로부터 메일을 가져올 수 있게 됩니다.
이번에는 IMAP 프로토콜 포트인 143으로 접속해 볼까요? 다음 화면과 같이 나오면 정상입니다.
이제 이메일 프로그램에서 메일 받기 서버의 형식을 POP로 맞쳐 놓고 여러분 계정을 설정한 후에 메일 체크를 하게 되면 앞서 도착한 메일을 가져다 볼 수 있게 됩니다.





