Computer Network — 4. 이메일 프로토콜

이 글은 2018년 2학기 아주대학교 Paul Rajib 교수님의 Computer Network 수업을 듣고 작성한 수업노트입니다. SMTP, POP3, IMAP에 대해 간단하게 설명한 내용입니다. 부족한 내용이나 오류을 알려주시면 감사하겠습니다.

이메일 전송하기

사용자가 웹브라우저나 이메일 프로그램을 통해 메일을 전송하면, 전송된 메일은 SMTP라는 프로토콜을 통해 이메일 서버로 전송된다. SMTP 프로토콜을 통해 나의 컴퓨터에서 Gmail SMTP 서버에 연결한 후 다른 사람에게 메일을 전송하면, Gmail 서버는 수신인의 메일서버 주소를 알아내서 해당 메일서버의 SMTP프로토콜로 다시 메일을 전송한다. 메일을 받은 메일서버는 수신인의 메일박스안에 받은 메일을 저장한다. 이렇게 수신인의 메일서버에 저장된 메일은 나중에 수신인이 웹 브라우저나 메일 프로그램을 통해 열어볼 수 있게된다.

Image for post

SMTP서버에 많은 메일전송요청이나 수신요청이 몰릴 경우, 메일을 받거나 보내는데 실패할 수도 있다. 이를 방지하기위해 메일서버는 메시지 큐(Message Queue)를 사용한다. 메일을 받으면 이를 바로 전송하거나 저장하지 않고 메시지 큐에 넣는다. 그러면 서버 내에서 다른 프로그램이 메시지 큐에 저장된 메일을 꺼내서 처리하게 된다. 이런 방식을 사용하면 갑자기 메일이 몰려와도 메일 전송이 지연될 뿐 서버가 받아들이지 못하는 일은 발생하지 않는다.

SMTP는 정확한 메일 전송을 위해 TCP를 사용하며 기본으로 25번 포트에서 동작한다.

이메일 수신하기

SMTP를 통해 이메일서버에 저장된 이메일을 우리는 이메일 프로그램이나 웹사이트를 통해 볼 수 있다. 이메일 서버가 웹 서비스를 제공할 경우 웹사이트를 통해서 이메일을 볼 수도 있다(Gmail, Naver 등). 그러나 각종 메일 프로그램에서도 우리는 메일을 확인할 수 있다. 이를 위해서 사용되는 프로토콜이 POP3 혹은 IMAP이다. 서버에 저장된 이메일을 가져오는 프로토콜로서 이 둘은 몇가지 차이점이 존재한다.

POP3 — Post-Office-Protocol 3

POP3는 TCP와 110번 포트를 사용한다. 메일 서버에 저장된 메일 정보를 가져와서 클라이언트가 저장하도록 하는 프로토콜이다. 메일을 가져올 때 서버에 저장된 메일 정보를 삭제하게 할 수 있고(download-and-delete mode), 남겨둘 수도 있다(download-and-keep mode). 즉 POP3는 메일 서버에 저장된 메일을 가져와서 저장하기위한 프로토콜이라 할 수 있다.

IMAP — Internet Mail Access Protocol

반면 IMAP은 메일 서버에 저장된 메일을 쉽게 관리하기위한 프로토콜이다. 메일을 보거나, 삭제하거나, 폴더로 관리하는 등의 기능을 제공한다.

일반적인 메일 서비스들은 IMAP과 POP3를 모두 지원한다.

Written by

2020.12.8 ~ 2022.6.9 군복무중 Serving in the South Korean Military Service

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store