이메일(전자우편) 전송 과정

HTTP, FTP 등은 클라이언트 서버 구조로 서버 프로그램은 항상 작동 중이며 사용자는 클라이언트 프로그램을 사용해 필요할 때마다 서비스를 요청하고 응답을 받습니다.

하지만 전자우편(electronic mail : E-mail)은 메일을 보낼 뿐인 단방향 트랜잭션입니다.

메일을 받는 것 또한 상대방이 나에게 보낼 뿐인 단방향 트랜잭션이죠.

따라서 나나 상대방이나 컴퓨터를 항상 켜고 메일을 기다리는 것이 아니니 HTTP나 FTP와는 구조가 다릅니다.

하지만 분명 메일은 어딘가에 저장되어 있어야 하고 받을 수 있어야 하니 발신자와 수신자의 컴퓨터가 아닌 메일 서버 소프트웨어가 동작 중인 어딘가의 컴퓨터는 항상 켜져 있어야겠죠.

그리고 생각해보면 같은 메일 서버는 하나가 아니어야 합니다.

내 메일이 저장된 서버가 다른 메일 서버에 전달할 수 있어야 그 메일 서버를 사용하는 사람이 메일을 받을 수 있을 테니까요.

따라서 발신자의 컴퓨터, 발신자의 메일이 저장되는 메일 서버, 수신자의 메일 서버, 수신자의 컴퓨터 이렇게 네 개의 컴퓨터가 필요합니다.

발신자는 자신의 컴퓨터에서 사용자 에이전트(User Agent : UA)라는 프로그램(메일 클라이언트라고도 하는)을 사용해 메일을 작성, 메일 서버에 전송합니다.

썬더버드(Thunderbird), 아웃룩(Outlook) 등이 있지요.

작성한 메일은 세 번의 클라이언트-서버 방식으로 전달됩니다.

 

첫 번째는 발신자의 컴퓨터에서 연결된 메일 서버로 전달할 때, 두 번째는 메일 서버에서 다른 메일 서버로 전달할 때, 세 번째는 수신자가 메일 서버에서 메일을 가져올 때입니다.

잘 보시면 첫 번째와 두 번째는 메일을 전송 지점에 밀어 넣는 방식이고, 세 번째는 수신자가 클라이언트 프로그램을 써서 당겨오는 방식입니다.

첫 번째와 두 번째는 메일 전송 에이전트(Mail Transfer Agent : MTA), 세 번째는 메시지 접속 에이전트(Massage Access Agent : MAA)라는 프로그램이 작동합니다.

  • 주황색, 파란색 : MTA Client와 MTA Server
  • 초록색 : MAA Client와 MAA Server

MTA 클라이언트와 서버 프로그램의 프로토콜은 단순 우편 전달 프로토콜(Simple Mail Transfer Protocol : SMTP)입니다.

MAA 클라이언트와 서버 프로그램의 프로토콜은 현재 두 가지, POP3(Post Office Protocol Version 3)과 IMAP4(Internet Mail Access Protocol Version 4)가 있습니다.

수신자 쪽의 사용자 에이전트(UA, 메일 클라이언트) 프로그램은 메일 서버를 정기적으로 읽거나 사용자의 요청이 있을 때 읽어 수신자에게 온 메일이 있다면 사용자에게 알려줍니다.

이제 수신자는 그래픽 유저 인터페이스(Graphical User Interface : GUI)를 가진 사용자 에이전트로 편하게 메일을 읽고 필요하면 답장을 하여 이번엔 발신자가 됩니다.

SW Level Up

mail@swlevelup.com

You may also like...

답글 남기기

이메일 주소를 발행하지 않을 것입니다.