본문 바로가기

CS

[CS] SMTP란 무엇일까? (메일 전송 규약..?)

 

우리가 메일을 보낼때는 상대의 컴퓨터로 메일을 바로 송신하는것이 아니라 중간에 메일서버 라는 곳을

몇군데 거치게 된다. 메일 서버에 메일이 보관되고, 그것을 다른 메일 서버에 보내면서 end user에게 전해진다.

 

📝SMTP란?

일반적으로 메일서버간 메일을 주고받을때는 SMTP를 사용한다. SMTP는

Simple Mail Transfer Protocol의 약자로 메일을 주고받는 프로토콜의 규약이다.

SMTP는 메일의 메시지들을 주소에 맞게 전달해주는 역할을 하며, 이때 규약이 SMTP에 담겨져있다.

 

SMTP 이외에도 POP3, IMAP라는 다른 프로토콜을 이용하기도 한다. SMTP가 메일 서버간 전송 규약이라면,

POP3와 IMAP는 유저가 메일서버에서 메일을 받기 위한 프로토콜이다.

 

💻 예시 설명

메일 서비스를 제공해주는 메일서버는 SMTP를 통해 메일을 서로 주고받는다.
예를들어 naver와 google간 메일을 주고받을때 naver와 google 각각 메일서버가 존재한다.
이때 나의 naver 메일을 naver 메일서버에 데이터로 전송하고 (SMTP)
naver 메일서버는 daum 메일서버에게 메일데이터를 전송한다(SMTP)
이후 상대방은 받은 메일을 서버 보관함에서 가져오게 된다.(POP or IMAP or HTTP)

 

 

 

📌SMTP 기본 포맷

SMTP 메세지 Format

Header : 헤더에는 From, To, Body Format 등 많은 정보가 포함되어 있다.
Blank line : 공백
Body : 바디 영역에는 전달할 메일의 내용들이 포함되어있다.

 

 


 

 

📝POP3와 IMAP 란?

POP3와 IMAP은 모두 유저가 메일서버에서 메일을 받기 위한 프로토콜이다. 두개의 차이를 살펴보면 다음과 같다.

 

POP 3 (Post Office Protocol)

- 메일 서버 종류중 하나로 TCP 포트번호 110번을 사용한다.

- 메일 서버에 저장된 메일을 로컬 PC로 가져오는 역할을 한다.

- 로컬 PC에 다운로드 하면 서버에서는 이메일이 삭제되도록 구현되어있다. (이는 서버 설정이 가능한 부분!)

- 오프라인만 지원한다.

 

IMAP (Internet Message Access Protocol)

- 메일 서버 종류중 하나로 TCP 포트번호 143번을 사용한다.

- POP서버와 달리 중앙 서버에서 동기화가 되어 모든 장치에서 동일한 이메일 폴더를 확인할 수 있다.

- 메일이 서버에 저장되어 있으므로 로컬PC에 문제가 생겨도 이메일에 영향을 끼치지 않는다.

- 서버에 이메일 실시간이 존재하며 온/오프 라인을 지원한다.