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

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

기술1 2024. 10. 3. 17:38
반응형

이메일 메세지 포맷

SMTP

이메일 교환을 위한 프로토콜

rfc 2822

여기에서 이메일에 대한 syntax가 정의되어 있습니다. 

 

header line, e.g.
TO:
From:
Subject:

이런 식으로 헤더라인에 들어가고 

 

body 부분이 나타납니다. 이는 공백 라인으로 구분을 합니다. Body부분에 본문이 들어갑니다. 

 

멀티미디어 확장

MIME (멀티미디어 메일 확장)

 

최근에 이메일을 주고 받을 때를 보면 텍스트 메세지만 보내는 것이 아닌 이메일의 여러 멀티미디어 데이터가 전달되는 것을 알 수 있습니다. 이와같은 내용을 이메일을 통해 전송을 해야하다보니 기존의 메일 포맷에서는 ASCII 인코딩된 데이터만 가능했습니다.

 

그래서 멀티미디어로 된 이메일을 보낼 수 없었지만 전송할 수 있도록 확장해준 것이 바로 MIME입니다.

 

header line, e.g.
TO:
From:
Subject:
MIME-Version : 1.0
Content-Transfer-Encoding : base 64
Content-Type : image/jpeg

base64 encoded data...
.......................
........base 64 encoded data

전달할 수 있는 컨텐츠 유형

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

Multipart Type

body 부분에 본문 내용을 text로 입력하고 아래한글 파일을 첨부해서 전달할 때 텍스트 데이터와 아래한글의 어플리케이션의 데이터 두개가 하나의 이메일로 전달이 됩니다.

 

이와 같은 형태를 multipart라고 하며 여러 개체의 메세지를 하나에 넣어서 전달하는 것입니다. 

 

헤더 파일에 content-type를 multipart/mixed라고 합니다. 이는 수신 UA에게 메시지가 어려 객체를 가지고 있음을 알려줍니다. 

 

수신 UA는 각 객체의 시작과 끝, non-ASCII 객체들의 encoding, 각 메세지의 content-type을 결정하는 수단을 필요로 하며 각 객체 사이에 경계 문자를 위치시키고 메세지 각 객체 앞에 content-type과 content-transfer-encoding을 위치해서 수행시킵니다. 

 

Mail access protocols

수신측 UA가 메일 메세지를 얻기 위해 SMTP를 사용할 수 없습니다. 

 

SMTP는 push 프로토콜, 메일 메세지를 얻는 것은 pull 동작이기 때문입니다. 클라이언트 -> 서버 방식이기 때문에 메일을 접근해서 읽어오는 것 즉 가져오는 것에는 SMTP를 쓸 수 없게 됩니다. 

 

Mail access protocol

  • POP3 : UA가 메일 서버와 포트 110번으로 TCP 연결
  • IMAP
  • HTTP 

POP3는 download and delete방식입니다. 위와 같은 방식은 이메일을 확인할 때 여러 장소에서 확인할 수  있습니다. 그럴 때 어떤 한 기기로 이메일을  확인하면 이메일을 읽어오고 삭제하기 때문에 여러 기기로 읽을 때는 Download-and-keep 방식으로 진행을 해야 합니다.

 

IMAP은 고급스런 기능을 개선합니다. 폴더 구조로 관리하는 등등 제공을 하는 Mail Access Protocal 입니다.

 

 

반응형