본문 바로가기
Computer Science/Network

Electronic Mail (SMTP, POP3, IMAP / MIME)

by JuHy_ 2020. 7. 17.

E-Mail Protocols

우리가 사용하는 이메일 또한 네트워크를 이용한 응용 프로그램이다.

따라서 메일을 주고 받을 때 사용하기 위한 여러 종류의 프로토콜들이 정의되어 있으며,

대표적으로는 TCP/IP 모델의 응용 계층에 속한 SMTP, POP3, IMAP 등이 있다.

 

 

https://hub.packtpub.com/wireshark-analyze-malicious-emails-in-pop-imap-smtp/

 

SMTP

SMTP란 Simple Mail Transfer Protocol의 약자로, 간단한 메일 전송 프로토콜이라는 뜻이다.

TCP 25번 포트를 통해 통신하며, 클라이언트에서 서버 또는 서버에서 서버로 메일을 전송할 때 사용한다.

 

POP3

POP3란 Post Office Protocol 버전 3를 말한다.

TCP 110번 포트를 사용하며, 서버에서 클라이언트로 수신된 메일을 전송할 때 사용한다.

이 때, 클라이언트로 전송한 메일은 서버에서 삭제하므로 여러 클라이언트에게 메일을 보낼 수 없다.

 

IMAP

IMAP란 Internet Mail Access Protocol의 약자로, 인터넷 메일 접근 프로토콜이라는 뜻이다.

TCP 143번 포트를 사용하며, POP3와 마찬가지로 서버에서 클라이언트로 메일을 전송할 때 사용한다.

POP3와 다른 점으로, 전송한 메일도 서버에 저장하기 때문에 여러 클라이언트에게 메일을 보낼 수 있다.

 

 

 

MIME

MIME이란 Multipurpose Internet Mail Extensions의 약자로, 다목적 인터넷 메일 확장이라는 뜻이다.

전자 메일을 보낼 때 사용하는 인터넷 표준 포맷으로, 여러 개의 헤더로 본문을 구분한다.

 

MIME 표준은 다음과 같은 규칙을 따른다.

 

MIME-Version: 1.0
Content-Type: text/plain

This is the body of the message.

맨 첫 줄에는 MIME 문서 여부 및 버전을 나타내는 MIME-Version 헤더가 있다.

그리고 다음 줄에는 컨텐츠 종류를 나타내는 Content-Type 헤더가 있고, 그 아래 컨텐츠가 포함되어 있다.

 

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=frontier

This is a message with multiple parts in MIME format.
--frontier
Content-Type: text/plain

This is the body of the message.
--frontier
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--

여러 개의 부분으로 구성된 데이터를 보내고 싶다면 첫번째 Content-Type을 multipart로 해준 뒤,

각각의 부분들을 다시 Content-Type 헤더와 boundary 문자열로 감싸주면 된다.

 

'Computer Science > Network' 카테고리의 다른 글

File Transfer Protocol (FTP)  (0) 2020.07.15
HyperText Transfer Protocol (HTTP)  (0) 2020.07.15
OSI Model & TCP/IP Model  (0) 2020.06.30