개인/리눅스

[리눅스] 메일이란? 관련 프로토콜

OmeGa2 2020. 2. 25. 18:17

메일이란?

메일이란?

메일은 컴퓨터 통신망을 이용해 사용자 간의 편지를 주고 받을 수 있는 시스템을 말한다.

특히 인터넷을 통해 편지를 주고받은 것을 전자우편 혹은 이메일이라고 불린다.

 

 

메일 서버와 클라이언트

메일 서버 

- 메일을 보관하는 응용프로그램

- 메일 송/수신을 위한 프로그램만을 운영하는 하드웨어

메일 서버는 크게 두 가지 의미로 구분되는데, MTA 라고도 불리는 메일서버는

다른 사용자가 보낸 메일을 받거나, 다른 서버로 메일을 전달하는 등

메일을 전달하거나 보관하기 위한 역할을 수행하는 응용 프로그램을 말한다.

 

또한 이런 메일을 사용하기 위한 프로그램만을 설치해서 메일 서버로만

운영되는 컴퓨터 하드웨어를 메일 서버라고 부르기도 한다.

ex) sendmail, qmail, postfix ...

 

메일 클라이언트

- 사용자가 메일을 송/수신 할 때 사용하는 프로그램

MUA라고도 불리는 메일 클라이언트는 메일을 읽거나 발신할 때 사용하는 컴퓨터 프로그램을 말한다.

POP3, IMAP 과 같은 프로토콜을 이용해 메일 서버에 저장된 메일을 확인할 수도 있으며,

메일을 발신할 때에는 SMTP 프로토콜을 사용한다.

ex) Outlook, kmail, mutt....

 

 

 

▶ 전자 우편 주소

 

메일을 송/수신할 때 메일이 전달 되는 목적지를 식별하는 메일주소는 오직 하나의 포맷을 가진다.

주소의 형식은 "아이디@메일서버 이름" 으로 설정되며,

"@" 기호를 통해 hostname과 도메인 주소를 구분해서 사용한다.

 

 

 

 

메일 관련 프로토콜

메일에서 사용하는 프로토콜은 3가지가 있다.

 

1. SMTP (Simple Mail Transfer Protocol)

인터넷에서 메일을 보낼 때 사용되는 프로토콜로 TCP 포트 25번을 사용한다.

인터넷에서 여러 메일 서버끼리 송수신이 이루어질때 사용되며 클라이언트에서는 주로

메일 서버로 송신할 때 사용되고 있다.

 

 

2. POP3 (Post Office Protocol Version 3)

서버에 도착한 메일을 클라이언트에서 다운받아 읽을 수 있는 프로토콜로 110번 포트를 사용한다.

 

구현이 용이하고 많은 클라이언트 프로그램에서 사용할 수 있다는 장점을 가지고 있지만,

서버에서 POP3 프로토콜을 이용해 메일을 다운받을 경우, 서버에 있던 원본메일은 삭제된다.

즉, 서버에서 메일을 다운받은 뒤 다른곳에서 다시 메일을 확인할 수 없는 단점이 있다.

 

 

3. IMAP (Internet Mail Access Protocol)

POP3와 마찬가지로 서버에 도착한 메일을 클라이언트에서 확인할 때

사용하는 프로토콜로 143번 포트를 사용한다.

 

POP3에서는 서버의 메일을 클라이언트가 다운받은 후, 서버에 존재하는 원본메일은 삭제되었다.

IMAP에서는 메일을 확인한 후에도 서버에 원본메일은 여전히 존재하며 언제나 확인할 수 있다.

대부분의 포털사이트의 메일서버는 IMAP 프로토콜을 사용하고 있다.

다만, 메일이 서버에 지속적으로 쌓이면 통신 트래픽을 높인다는 단점이 있다.

 

 

SMTP : 서버간의 송/수신, 클라이언트에서 서버로 송신

POP3 : 클라이언트가 서버의 메일 확인 (서버에는 삭제)

IMAP : 클라이언트가 서버의 메일 확인 (서버에서 지속적인 관리)

IMAP 방식으로 서버에 저장되어 있는 메일은 오로지 온라인 상태에서만 확인할 수 있다.

하지만 POP3 방식은 클라이언트에서 서버의 메일을 다운받아 클라이언트 프로그램에서

관리하기 때문에, 오프라인 상태에서도 메일을 확인할 수 있다.