● 샌드메일 서버의 작동 원리

MTA : Mail Transfer Agent
MUA : Mail User Agent
MDA : Mail Delivery Agent
MRA : Mail Retrieval Agent
① 메일 클라이언트1은 SMTP 프로토콜을 이용해서, 메일 서버1의 샌드메일 데몬에게 메일을 보내달라고 요청한다.
② 샌드메일 데몬은 메일을 '메일 큐'에 넣어 놓는다.(이 파일은 /var/spool/mqueue임)
③ 샌드메일 데몬은 시간이 되면 MDA에게 메일을 보내달라고 요청한다.
④, ⑤ MDA는 SMTP 프로토콜을 이용해서 메일 서버2의 샌드메일 데몬에게 메일을 전송한다.
⑥, ⑦ 메일 서버2의 샌드메일 데몬은 받은 메일을 MDA를 통해서 사용자의 메일 박스에 넣어 놓는다.
⑧ 메일 클라이언트2는 메일 서버2의 dovecot 데몬에게 자신의 메일을 달라고 요청한다.
⑨, ⑩ dovecot 데몬은 메일 박스에서 메일 클라이언트2의 메일을 POP3 또는 IMAP 프로토콜을 이용해서 전송해 준다.


메일을 작성해서 A라는 PC에서 B라는 PC에게 보내고 싶다고 가정하자.
이때 메일을 보내는 방법은 크게 두가지가 있다.
첫번째 방법은 A와 B 중간에 중계서버를 두는 것인데 A가 중계서버에 메일을 넣어두면 B가 그 서버에서 메일을 찾아서 본다. 첫번째 방법의 단점은 인터넷이 안되면 메일을 볼 수가 없다.
두번째 방법은 첫번째 방법에서 중계서버에 저장된 메일을 가져오는 것이다. 사용자는 A PC에서 메일을 작성해서 자신이 구축한 메일서버로 보낸다. B는 A가 구축한 메일서버에서 메일을 받는다.



[과제] sendmail 소스컴파일 설치 후 메일서버를 셋팅하여 이메일을 발송해보라. 테스트는 에볼루션(evolution)이라는 유틸리티를 사용한다. 실습 시 외부에서 우리가 구축한 메일서버를 찾아올 방법은 없으므로 발송 테스트만 한다.

Posted by 겨울섬
,