RedHat Linux >> Server Administration for Redhat Linux
|
[목차] |
제3장 Mail 서버 - Sendmail/IMAP
1. 메일은 어떻게 전달될까? 이번 장에서는 메일 서버 구축에 관해 알아보고자 한다. 먼저. Sendmail과 POP/IMAP에 대해 소개하고, 웹 기반의 메일에 대해 알아보도록 하겠다. 그리고 마지막으로 majordomo를 이용한 메일링 리스트 구현에 대해 다루겠다. 본문에서 #은 루트 셸을 의미하고, $은 사용자 셸을 의미한다. 일부 파일 안에서의 #은 루트 셸이 아니라 주석을 의미한다. 글에서 예로 든 도메인이나 IP는 실제와는 달리 설명을 위한 것임을 유의하기 바란다.
우선. 메일 서버의 동작 과정을 살펴보자. 철수가 영희에게 메일을 보내려 한다고 가정하자. 철수가 메일을 작성한다. 이때 이용하는 것이 MUA라는 것이다. 영희가 메일을 확인할 때 이용하는 것도 MUA이다. MUA라고 하는 것은 넷스케이프의 메일 클라이언트 또는 마이크로소프트의 아웃룩 익스프레스와 같이 사용자 메일 클라이언트 프로그램을 뜻한다. MUA를 통해 메일을 보내면. 이는 MTA에 전달된다. 바로 이 MTA가 우리가 다루고자 하는 센드 메일(Sendmail)이라는 메일 서버 구축을 위한 데몬 프로그램이다. 센드메일 이외에 큐메일(qmail)이라는 것도 있다.
보내는 MTA와 받는 MTA의 통신은 SMTP라는 메일 전송 프로토콜을 이용하며, TCP/IP에서 SMTP는 일반적으로 25번 포트를 이용한다. 받는 MTA에 전달된 메일은 LDA를 통해 영희의 메일 박스에 메일이 보관된다. 영희는 페치메일(fetchmail)을 이용하여 이를 자신이 있는 머신의 MTA로 가져오거나 POP/IMAP을 이용하여 MUA로 메일을 확인할 수도 있다. 이때 POP과 IMAP은 메일 서버가 자신의 머신에 설치되어 있지 않고, 네트워크상에 연결된 메일 서버에서 메일을 가져올 때 이용하는 프로토콜이다. 각각 110포트와 143포트를 이용한다. 이렇게 하여 영희는 철수가 보낸 메일을 받아볼 수 있는 것이다. 위 과정을 그림으로 표현하면 그림과 같다. 그림에서 페치메일을 이용하는 경우가 있지만, 이는 서버측이 아니라 클라이언트에서 이용하는 것이므로 본 글에서는 다루지 않는다. 리눅스의 /var/spool/ 디렉토리를 보면 두 개의 mqueue 와 mail이라는 디렉토리가 있는 것을 볼수 있다. mqueue는 MUA에서 메일을 보낼 때, 우선 이 mqueue(메일 큐라 함)에 메일이 저장되고, MTA는 이를 전달한다. mail이라는 디렉토리를 보면 각 사용자에 따른 파일이 존재하는데 이것이 메일박스이다.
[용어설명] POP (Post Office Protocol) : 전자우편용 메일 서버로부터 전자우편을 수신하기 위한 통신규약으로, 전자우편 소프트웨어에서 자신이 사용하는 POP 서버 명을 설정해 두면 자신에게 오는 전자우편을 받을 수 있다. SMTP(Simple Mail Transfer Protocol): 인터넷에서 저ㄴ자우편을 전송할 때 이용되는 표준 프로토콜로, SMTP에 기반하여 전자우편을 보내는 서버를 SMTP 서버라고 하는데, 이것은 POP서버와 동일한 경우도 있다. LDA(Local Delivery Agent) : 로컬머신에서 MTA에서 받은메일을 메일 박스로 갖다 놓을 때 이용하는 프로그램에 해당된다. 대표적인 LDA로는 procmail이 있다. IMAP(Internet Mail Access Protocol) : 전자우편용 메일 서버로부터 전자우편을 수신하기 위한 통신규약으로, 전자우편 소프트웨어에서 자신이 사용하는 IMAP서버명을 설정해 두면 자신에게 오는 전자우편을 받을 수 있다. 이는 POP보다 진보된 기능을 제공한다. MUA(Mail User Agent) : 메일 클라이언트 프로그램에 해당하는 것으로, mail, mutt, pine 등이 이에 해당한다. 그외에도 윈도우의 아웃룩 익스프레스, 넷스케이프의 메일 클라이언트 등이 있다. MTA(Mail Transfer Agent) : 메일이 최종 목적지에 도달할 수 있도록 한 도메인의 메일 시스템에서 다른 도메인의 메일 시스템에 있는 MTA로 라우팅을 하는 프로그램으로서 흔히 메일러(mailer)라고 불린다. 대표적인 MTA로는 sendmail이 있다.
|
[목차] |