Eletronic Mail: 두 판 사이의 차이

youngwiki
편집 요약 없음
29번째 줄: 29번째 줄:


==Mail access protocols==
==Mail access protocols==
==[[파일:MailAccessProtocols.jpg|테두리|프레임없음|600x600픽셀]]==
* [[SMTP]]: 수신자의 server까지 message를 전송/저장한다.
* [[SMTP]]: 수신자의 server까지 message를 전송/저장한다.
* maail access protocol: server의 mailbox로부터 message를 가져오는 역할을 한다.
* maail access protocol: server의 mailbox로부터 message를 가져오는 역할을 한다.

2025년 3월 21일 (금) 18:27 판

상위 문서: Application Layer

개요

Eletronic Mail(이메일)은 인터넷이 시작된 이래로 존재해왔다. 초창기부터 가장 인기 있는 애플리케이션이었으며, 현재에도 여전히 인터넷에서 가장 중요하고 널리 사용되는 애플리케이션 중 하나이다.

Three major components

  • user agents
    • 사용자가 메시지를 읽고, 쓰고, 편집하고, 저장하고, 발송할 수 있도록 한다.
    • 사용자가 메시지 작성을 마치면 user agent는 메시지를 mail server에 전송하며, 해당 메시지는 해당 mail server의 message queue에 저장된다.
    • 사용자가 메시지를 읽고자 할때, user agent는 사용자의 mail server에 있는 mailbox에서 메시지를 가져온다.
    • Microsoft의 Outlook이나 Apple mail이 이에 해당한다.
  • mail servers
    • mail server는 mailbox를 가지고 있어 사용자에게 incoming하는 메시지를 보관하고 관리한다.
    • mail server는 outgoing 메시지들이 저장되는 message queue를 가지고 있고, 해당 queue에 저장된 메시지를 전송한다.[1]
  • SMTP

Operation of E-Mail Sending

메일을 보내는 과정을 알아보기 위해 준영이 승빈이에게 메일을 보내는 과정을 자세히 살펴보자.

  1. 준영은 메시지를 jsbjsb@sogang.ac.kr로 작성하고 보내고자 user agent를 이용한다.
  2. 준영의 user agent는 메시지를 준영의 mail server로 보내고, 해당 message는 server의 message queue에 저장된다.[2]
  3. 준영의 mail server에서 실행 중인 SMTP client는 message queue에 있는 message를 확인하고, 승빈의 mail server에서 실행 중인 SMTP server와 TCP 연결을 한다.
  4. 초기의 SMTP handshaking 이후, SMTP client는 message를 TCP 연결을 통해서 전송한다.
  5. 승빈의 mail server에 있는 SMTP server가 해당 message를 수신하고 승빈의 mailbox에 이를 저장한다.
  6. 승빈은 원할 때 user agent를 실행하여 message를 읽는다.

이떄, SMTP는 1~4까지의 과정을 담당한다. 그외의 과정은 PoP, IMAP 등의 프로토콜을 사용한다.

Mail access protocols

  • SMTP: 수신자의 server까지 message를 전송/저장한다.
  • maail access protocol: server의 mailbox로부터 message를 가져오는 역할을 한다.
    • POP(Post Office Protocol): 가장 단순한 메일 접근 방식 중 하나로, 사용자 인증을 한뒤, 이를 다운로드하는 방식으로 작동한다.
    • IMAP(Internet Mail Access Protocol): POP보다 더 많은 기능을 가지며, server에 message를 저장하고 이를 관리하는 방식으로 작동한다.
    • HTTP: Gmail, Yahoo! 등의 웹 기반의 이메일 서비스가 이용하는 프로토콜이다.

각주

  1. 모종의 이유로 메일 전송에 실패한 경우, 30분 단위로 재전송 시도한다. 며칠간 시도해도 실패한 경우에는 해당 메시지를 삭제하고 발신자에게 실패 알림 메일을 보낸다.
  2. TCP를 이용한다.