메일을 주고받기 위해서 송신자(Alice)와 수신자(Bob)은 LAN이나 WAN을 통해서 2개의 메일 서버에 연결된다.
송신자가 수신자에게 메일을 전송하기 위해서는 위 그림과 같이 총 9단계를 거치게 된다.
메일은 envelope와 message로 구성된다.
envelope는 송신자의 주소, 수신자의 주소와 기타정보를 포함하고 message는 header와 body를 포함하고 있다.
메일을 전송하는 과정은 연결 설정, 메일 전송, 연결 종료로 구성된다.
클라이언트가 25번 포트로 TCP 연결을 생성하면 SMTP 서버는 연결 절차를 시작하게 된다.
421
을 전송한다.HELO
메세지를 전송한다.250
을 전송해 응답한다.SMPT 클라이언트와 서버사이에 연결이 설정된 후에 송신자와 하나 이상의 수신자들 사이에 하나의 메세지가 교환될 수 있다.
MAIL FROM
메세지를 보낸다. 이 메세지에는 송신자의 주소가 포함되어 있다. 이 단계에서는 오류를 회신하고 베세지를 보고하기 위해서 회신 메일 주소를 서버에 되돌려 주는 것이 요구된다.250
을 전송해 응답한다.RCPT TO
메세지를 전송한다.250
을 전송해 응답한다.DATA
메세지를 전송한다.354
를 전송해 응답한다.250
을 전송해 응답한다.메세지가 성공적으로 전송된 후에 클라이언트는 연결을 종료한다.
1. 클라이언트는 QUIT
명령을 전송한다.
2. 서버는 코드 221
을 전송해 응답한다.
메일서버에 있는 메일을 자신의 컴퓨터로 가져와 관리한다.
메일 다운로드와 동시에 메일서버의 메일이 삭제된다. (삭제되지 않도록 별도 설정 가능)
IMAP과 비교했을 때 메일뷰어라는 특성이 적절하다고 보인다.
메일을 삭제해도 메일서버에있는 원본은 삭제되지않는다.
서버의 메일함과 메일 프로그램의 메일함 및 내용을 일치하도록 동기화한다.
메일 프로그램에서 메일을 삭제, 복사, 이동한 내용이 서버의 메일함에 동일하게 적용된다.
동시에 여러 개의 메일 프로그램에서 동일한 계정으로 접속이 가능하다.
메일의 일부분을 미리 읽어올 수 있다.