IT 프로그래밍/컴퓨터네트워크

[컴퓨터네트워크] part3-1 이메일 포맷

기술1 2024. 10. 6. 20:36
반응형

SMTP

이메일의 메세지 포맷을 보면 SMTP는 이메일 메세지 교환을 위한 프로토콜 입니다. 

 

메세지 포맷은 RFC2822로 이메일 메세지의 syntax가 정의되어 있습니다.

 

첫번째가 헤더라인에 to, from, subject 같은 것이 들어가고 헤더의 끝을 우리가 공백라인으로 구분하고 body 부분이 나타납니다. header와 body부분은 공백라인으로 구분이 됩니다. body부분에도 ASCII 캐릭터가 추가가 됩니다.

 

메세지 포맷 : 멀티미디어 확장

  • MIME : 멀티미디어 메일 확장, RFC 2045, 2056

 

MIME types

  • Text   :  / plain, html
  • Image  image/gif, jpeg
  • Audio
  • Video : video/mpeg
  • Application : application/msword

Multipart Type

HTTP는 각각의 객체들을 독립된 HTTP 응답 메세지로 전송합니다. SMTP는 모든 객체를 같은 메세지를 넣어 전송합니다.

  • Content-type : maultipart/mixed
  • 수신 ua에게 여러개의 객체를 가지고 있음을 알려줌
  • 수신 UA는 각 객체의 시작과 끝, non-Ascii 객체들의 encoding, 각 메세지의 content-type을 결정하는 수단을 필요로 함
  • 각 객체 사이에 경계 문자를 위치시키고 각 객체 앞에 content-type과 content-transfer-encoding : 헤더 라인을 위치하여 수행

Mail access protocols

수신측 UserAgent가 자신의 메일 계정에서 이메일을 읽어오는 프로토콜입니다. 이메일 프로토콜이 SMTP인데 이것은 메일 서버간에 이메일을 전송하는 프로토콜입니다.

 

수신측 UA가 메일 메시지를 얻기 위해서는 STMP를 사용할 수 없스니다. 왜냐하면 자신의 메일에서 읽어오기 위해서는 SMTP는 push 방식의 프로토콜이기 때문에 client가 서버에게 이메일을 주기 때문에 이메일을 읽어오기 위해선 메일 계정에 접근해서 가져와야 하기 때문에 SMTP를 쓸 수 없습니다. 

 

메일을 읽어오는 것은 pull방식이기 때문입니다.

 

Mail access protocol

  • POP  : Post Office Protocol
  • IMAP : Internet Mail Access Protocol
  • HTTP  : Gmail, Hanmail, naver

POP3 Protocol

UA가 메일 서버와 포트 110번으로 TCP 연결

 

1. authorization phase

user id와 passwd 입력해서 사용하는 과정

 

2. transaction phase

클라이언트가 list command하면 서버가 현재 수신자의 메일 계정에 수신된 이메일을 차례대로 알려줍니다. 현재 사용자에게 두개의 이메일이 있습니다. 1번 이메일을 읽어온다면 메일 서버가 1번 이메일을 클라이언트에게 줍니다. 그리고 나서 클라이언트가 1번을 읽어왔으니 삭제하고 2번을 쭉 읽어오고 클라이언트가 2번을 삭제하고 quit을 종료하는 것

 

POP3 프로토콜은 "Download and Delete"과정입니다. 이와 같은 방식은 메일을 확인할 때 여러 기기에서 확인할 수 있기 때문에 이 경우 삭제하기 떄문에 여러 어플리케이션으로 동작을 할 때는 "Download-and-keep"로 관리를 해야합니다.

 

IMAP

폴더 형태로 메시지 관리 가능

 

 

반응형