Doctor Pepper

SMTP(Simple Mail Transfer Protocol), POP & IMAP 본문

자격증/CCNA

SMTP(Simple Mail Transfer Protocol), POP & IMAP

Doctor Pepper 2024. 10. 18. 20:45

 

1. SMTP 

 SMTP는 이메일 전송을 위한 프로토콜로, 클라이언트가 이메일을 작성하고 전송 요청을 보내면, 이를 처리하는 메일 서버(또는 메일 전송 에이전트)가 수신 서버로 메일을 전달하는 방식으로 작동한다. 이때 사용되는 통신 방식은 텍스트 기반이며, 명령어를 통해 전송된다. SMTP는 주로 TCP 포트 25번을 사용하여 클라이언트와 서버, 서버 간의 메일 전송을 수행한다.

 

- 메일 송수신 과정

 

 

  • 메일 작성 : 사용자는 아웃룩(Outlook)이나 썬더버드(Thunderbird)와 같은 메일 클라이언트를 통해 메일을 작성한다.
  • SMTP를 통한 전송 : 작성된 메일은 메일 클라이언트에 의해 자신의 도메인을 담당하는 메일 서버에 전송된다. 이때 SMTP 프로토콜이 사용된다.
  • SMTP 서버의 역할 : 같은 도메인 내에서 SMTP로 메일을 받은 메일 서버는 수신자의 주소를 확인하고, 목적지 메일 서버를 조사한다. 목적지 메일 서버의 IP 주소를 확인할 때는 DNS를 사용하며, DNS에는 특정 도메인의 메일 서버 정보를 포함하는 MX 레코드가 등록되어 있다.
  • 메일 저장 : 최종 목적지 메일 서버로 전송된 메일은 해당 서버의 메일박스에 저장된다. 수신자는 POP(Post Office Protocol) 또는 IMAP(Internet Message Access Protocol) 프로토콜을 사용하여 메일 클라이언트로 메일을 열람한니다.

 요즘은 메일 클라이언트 대신 브라우저를 통해 이메일을 사용하는 경우가 많다. 브라우저로 이메일을 이용할 때는 HTTP 또는 HTTPS를 통해 웹 메일 서버에 접속하게 된다.

 

 기존의 메일 클라이언트에서 이메일을 보낼 때는 클라이언트가 직접 SMTP 서버와 통신했다면, 이제는 브라우저가 웹 메일 서버와 통신하고, 웹 메일 서버가 클라이언트 역할을 대신하여 SMTP 서버와 상호작용하게 된다. 즉, 사용자는 브라우저를 통해 이메일을 보내고 받지만, 그 과정에서 웹 메일 서버가 중간에서 클라이언트와 SMTP 서버 간의 연결을 담당하는 구조로 생각할 수 있다.

 

2. SMTP 특징

  • 연결 지향 프로토콜 : SMTP는 연결 지향 프로토콜이다. 즉, 메일을 전송할 때 송신자와 수신자는 TCP 연결(주로 포트 25번)을 설정한 뒤에 데이터를 주고받는다. 이는 안정적인 데이터 전송을 보장하지만, 연결이 끊어지면 메일 전송이 실패할 수 있다.
  • 신뢰성 : 신뢰성을 보장하기 위해 재전송 메커니즘을 가지고 있다. 만약 수신 측 서버가 메일을 수신할 수 없는 상황일 때(예: 서버 다운), SMTP는 메일을 다시 시도하거나 대기 서버에 저장하여 후속 전송을 시도한다.
  • MIME 확장 : 초기 SMTP는 텍스트 기반이었지만, 현재는 MIME(Multipurpose Internet Mail Extensions) 표준을 통해 이미지, 동영상, 파일 등을 첨부할 수 있다. 이를 통해 다중 미디어 이메일 전송이 가능하다.
MIME 이메일에 다양한 파일 형식을 첨부하고 전송할 수 있도록 확장한 인터넷 표준임
이메일 전송 시 텍스트뿐만 아니라 이미지, 동영상, 문서 파일 등을 첨부 가능하게 함
다양한 파일 포맷(이미지, 비이도, 오디오 등) 전송이 가능하지만, 전송 용량이 제한되어 있음

 

  • 보안 문제 : 기본적인 SMTP는 암호화되지 않은 상태에서 메일을 전송하기 때문에 TLS(Transport Layer Security) 또는 SSL(Secure Sockets Layer)을 사용해 데이터 암호화를 적용하는 것이 일반적이다. 이러한 방식으로 메일 전송 중 발생할 수 있는 도청이나 위조 등의 보안 위협을 방지할 수 있다.
TLS 네트워크 통신에서 데이터 암호화와 무결성을 보장하는 보안 프로토콜임
네트워크 연결 시 암호화를 통해 데이터의 기밀성, 무결성, 인증을 보장함
HTTPS, 이메일 송수신, VPN, VoIP 등 안전한 네트워크 통신을 위해 사용함
SSL 데이터 전송의 보안을 위해 설계된 최초의 암호화 프로토콜임(현재는 TLS로 대체됨)
초기 암호화 프로토콜로, 웹 브라우저와 서버 간 안전한 통신을 제공함
  • 전송 한계 : SMTP는 전송할 수 있는 데이터의 크기에 제한이 있을 수 있다. 일반적으로 서버 측에서 설정한 첨부 파일 크기 제한이나 메일 용량 제한이 존재하며, 이는 수신자의 서버 설정에 따라 다르다.

 

3. SMTP 인증과 SMTPS

 SMTP 서버에서는 보안을 강화하기 위해 SMTP 인증(SMTP-AUTH)을 설정하는 경우가 많다. SMTP-AUTH는 클라이언트가 메일 서버에 이메일을 전송하기 전에 사용자 인증 정보(예: 사용자 이름과 비밀번호)를 제공하도록 요구한다. 이를 통해 서버는 신원을 확인하고 인증된 사용자만 이메일을 전송할 수 있도록 보장한다.

 

 하지만 인증만으로는 전송 중인 이메일이 외부에서 도청되는 것을 완전히 방지할 수 없다. 따라서 이메일의 기밀성을 유지하기 위해 SMTPS(SMTP over SSL/TLS)를 사용하여 암호화된 연결을 통해 메일을 주고받는다. SMTPS는 SSL/TLS 보안 프로토콜을 통해 이메일 전송 중 데이터를 암호화하여, 제삼자가 메일 내용을 확인하지 못하도록 보호한다. SMTPS를 사용하려면 메일 클라이언트SMTP 서버 모두가 SMTPS를 지원해야 하며, 서버 측에서 SSL/TLS 인증서를 설정해야 한다.

 

4. POP(Post Office Protocol) 및 IMAP(Internet Message Access Protocol)

- POP(Post Office Protocol)

 POP(Post Office Protocol)는 메일 클라이언트가 메일 서버에서 이메일을 가져올 때 사용하는 프로토콜이다. 현재는 POP3(버전 3)가 가장 널리 사용된다.

 

 POPIMAP의 공통점은 모두 이메일이 메일 서버의 메일박스로 배달된다는 점입니다. 메일 서버는 사용자 단말기 대신 도착한 메일을 임시로 보관하는 역할을 한다. 일반적인 사용자 단말기(PC나 스마트폰)가 24시간 내내 메일을 받을 준비가 되어 있지 않기 때문에, 서버에서 메일을 대기시켜 둔 후 사용자가 원할 때 메일 클라이언트를 통해 메일을 다운로드하는 방식으로 작동한다.

 

 POP3에서는 메일이 서버의 메일박스에 도착하면, 메일 클라이언트가 이를 다운로드한다. 다운로드가 완료되면 기본적으로 서버에서 해당 메일이 삭제되며, 이로 인해 메일은 로컬 단말기에서만 볼 수 있다. 다만, 일부 설정을 통해 서버에 메일을 남길 수도 있다.

장점 송수신 이외의 조작(로컬에 저장한 메일의 열람 등)은 오프라인에서도 할 수 있음
메일을 로컬에 저장하면 메일 서버에서는 삭제되므로 메일 서버의 용량을 절약할 수 있음
단점 하나의 메일을 한 대의 디바이스에만 저장할 수 있으므로 여러 장치 간의 공유가 어려움
메일리 로컬에 저장되므로 단말기 고장 등으로 데이터가 사라질 우려가 있음

 

 

 POP의 기본 동작은 메일 데이터를 로컬 단말기에 다운로드하여 처리하는 방식이다. 이로 인해, 모바일 기기다수의 장치를 사용하는 현대 환경에는 POP가 적합하지 않은 경우가 많다. 같은 이메일 주소로 도착한 메일을 여러 장치에서 동기화하여 열람하거나 조작하는 것이 어렵기 때문이다. 이러한 단점을 보완하기 위해 IMAP(Internet Message Access Protocol)이 등장했다. 

 

- IMAP(Internet Message Access Protocol)

 IMAP(Internet Message Access Protocol)메일 서버에 저장된 이메일에 메일 클라이언트가 접근하여 조작할 수 있는 프로토콜이다. 현재는 주로 IMAP4 버전이 사용된다. POP에서는 메일이 서버의 메일박스에 도착하면 로컬 장치로 다운로드되며, 다운로드 후에는 서버에서 메일이 삭제되는 것이 일반적인 동작이었다.

 

 그러나 IMAP에서는 메일이 서버에 그대로 저장된 상태에서 메일을 열람하거나 삭제, 정리 등의 작업을 할 수 있다. 이로 인해, 여러 장치에서 동일한 이메일 주소로 온 메일을 읽고 관리할 수 있으며, 각 장치에서 동기화된 상태로 메일을 확인할 수 있다. 오늘날처럼 다수의 장치에서 이메일을 사용하는 환경에서는, POP보다 IMAP이 더 적합하다고 할 수 있다.

장점 복수 단말기에서 메일을 조작할 수 있음
POP처럼 로컬 단말기 용량을 소비하지 않음
단점 메일 서버에 접속할 수 잇는 환경이 필요함(일부 조작은 오프라인에서도 할 수 있으며, 다음 번에 메일 서버에 접속할 때 처리함)
기본적으로 메일 서버상에 메일 데이터가 계속 남아 있으므로, 용량에 신경을 써야 함

 

5. 현대의 이메일 환경

 현대 이메일 환경은 클라이언트 기반에서 벗어나 웹 기반 이메일 서비스로 많은 변화가 이루어졌다. 사용자들은 이제 브라우저를 통해 Gmail, Outlook.com 등의 웹메일 서비스에 접근하여 이메일을 주고받는 경우가 많다. 이러한 웹 기반 서비스는 HTTP/HTTPS 프로토콜을 사용하여 사용자와 웹메일 서버 간의 통신을 수행한다.

 

- 메일 송수신 과정

  1. 이메일 작성 및 전송: 사용자가 웹 브라우저에서 웹메일 서비스에 로그인한 후 이메일을 작성한다. 이 과정에서 사용자는 SMTP 프로토콜을 직접 사용할 필요가 없다. 이메일을 전송할 때, 웹메일 클라이언트는 HTTP/HTTPS를 통해 웹메일 서버에 요청을 보낸다.
  2. 웹메일 서버의 역할: 웹메일 서버는 사용자의 요청을 받아 SMTP 서버와의 상호작용을 담당한다. 즉, 사용자가 작성한 이메일을 받아 해당 이메일을 SMTP 프로토콜을 통해 수신자의 메일 서버로 전송한다. 이로 인해 클라이언트는 SMTP의 복잡한 동작을 신경 쓸 필요가 없으며, 사용자는 보다 간편하게 이메일을 보낼 수 있다.
  3. API 기반 메일 서비스: 현대 웹메일 서비스는 API를 통해 이메일 송수신 기능을 제공하기도 한다. 예를 들어, Gmail API를 사용하면 개발자가 애플리케이션 내에서 직접 이메일을 보내거나 받는 기능을 구현할 수 있다. 이때 API 호출은 HTTP/HTTPS를 통해 이루어지며, 사용자는 별도의 SMTP 설정 없이도 이메일 서비스와 연동할 수 있다.
API 소프트웨어 간의 상호 작용을 가능하게 하는 인터페이스임
다른 소프트웨어 응용 프로그램이나 서비스와의 통신 방법을 정의하고, 특정 기능이나 데이터를 요청하고 받을 수 있도록 해주는 규칙과 프로토콜의 집함임

 

 이러한 구조는 클라이언트의 복잡성을 줄이고 보안을 강화하는 데 기여한다. 웹메일 서버가 중개 역할을 함으로써, 사용자는 SMTP 서버의 세부 설정이나 보안 문제에 대해 걱정할 필요가 없다. 또한, HTTP/HTTPS 프로토콜은 전송 중 데이터 암호화를 통해 이메일의 기밀성을 보장한다. 이러한 변화는 사용자 경험을 개선하고 이메일 송수신의 안전성을 높이는 데 중요한 역할을 하고 있다.