336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
1. EMAIL의 인코딩과 디코딩
- 전자메일 서비스는 초기에 RFC 822를 기반으로 정보교환이 이루어졌다.
  이 RFC 822는 정보교환 매체를 7비트인 US-ASCII 텍스트로 사용할 것을 제한하고 있다.
- SMTP(단순 우편 전송 프로토콜)는 7비트의 길이만을 통과한다. 
  8비트를 사용 하는 유럽(독일,프랑스) 언어, 16비트를 사용하는 동양권(한국,중국,일본) 언어등에서는
  MSB(최상위 비트)=1인 경우 이 MSB(최상위 비트)가 짤려나가므로 문제가 생긴다.
- 해결책으로 8비트 문자코드를 사용하는 나라에서는 각 언어별 문자세트를 지정한다. 
  8비트 문자들을 7비트 영문 아스키로 변환(인코딩)한 후 전송하고
  수신측에서 이를 다시 8비트로 변환하는 방법을 사용한다.


2. 한글 메일의 인코딩 방법들
한글은 16비트로써 즉 8비트 2개로써 한 문자를 표현한다.
그대로 SMTP를 전송하면 MSB(최상위 비트)가 잘려 나간다.
그러므로 아래와 같이 MIME 규격에 의해 전자 우편을 전송한다.

- MIME(다목적 인터네트 우편 확장 표준) 규격 
  SMTP의 데이터 포맷을 확장함으로써 텍스트는 물론 비디오, 오디오, 동화상 등의 다양한 멀티미디어, 데이터를 
  전송할 수 있게 해주는 인터넷 메일의 확장을 의미한다.
  MIME 규격은 전자우편 메시지 상단에 있는 전통적인 SMTP 헤더에 MIME 헤더를 추가한다.
  MIME 헤더에는 [우편물 유형, 사용된 문자세트] 및 [인코딩 방식] 등의 정보를 가진다.
  RFC822에 규정된 전통적인 SMTP 헤더는 To, From, Date, Subject, Reply_To, cc, message_ID 등의 정보가 있으며. 
  이들에 대한 정렬 순서나 규칙은 없다.
- MIME에서 정의하고 있는 전송 데이타의 Type(파일종류)/Subtype(파일포맷)
  Text / Plain               : 포맷되지 않는 텍스트 (특정한 문자세트로 구성됨)
  Text / Richtext            : 볼드, 이탤릭체, 밑줄 등 간단한 포맷을 가진 텍스트
  Multipart / Mixed          : 복수개의 서로 다른 유형의 데이터 본문들을 하나의 메시지로 조합
  Application / Octet-Stream : Binary 데이타
  Application / Postscript   : PostScript 프로그램
  Message / RFC 822          : 또다른 우편 메시지 RFC 822 
  Image / JPEG               : 정지화상 데이타, ISO 10918 포맷
  Image / GIF                : 정지화상 데이타, CompuServe의 Graphic interchange 포맷
  Video / MPEG               : 동화상 데이타, ISO 11172 포맷
  Audio / Basic              : 오디오 데이타, 8비트 ISDN mu-law 포맷을 사용한 인코드
- MIME의 Header Fields
  MIME-Version               : 에이전트를 지원하는 MIME 버전을 표시
  Content-Type               : 전송 데이타의 type/subtype[우편물 유형]과 character-set[사용된 문자세트]을 표시
  Content-Transfer-Encoding  : 전송 데이타의 body를 인코딩한 방법[인코딩 방식]을 표시 
  Content-ID                 : MIME 내용들을 식별하기 위한 표시 (생략가능)
  Content-Description        : 메시지 본문 내용에 대한 설명 (생략가능)
------------------------------------------------------------------------------------------------------
  ex) 한글메일 표준의 MIME 헤더인 경우 (7bit ISO-2022-KR 한글코드가 인코딩 없는 7bit 방식을 사용한 경우)
      Content-Type: text/plain; charset=ISO-2022-KR, Content-Transfer-Encoding: 7bit       
  ex) KS5601인 경우 (8bit 한글코드는 인코딩 없이 전송할 수 없으므로, 이미 수신한 것을 저장할 때만 사용함)
      Content-Type: text/plain; charset=EUC-KR, Content-Transfer-Encoding: 8bit
  ex) 영어권인 경우 (7bit 영어문자가 인코딩 없는 7bit방식을 사용한 경우)
      Content-Type: text/plain; charset=US-ASCII, Content-Transfer-Encoding: 7bit
  ex) 유럽언어인 경우 (8bit 유럽문자가 한 바이트를 세 바이트로 변환하는 인코딩 방식을 사용한 경우)
      Content-Type: text/plain; charset=ISO-8859-1, Content-Transfer-Encoding: quoted-printable
- MIME에서의 Content-Transfer-Encoding 방식
  전송내용을 인코딩 방식은 크게 5종류이다.
  헤더에 Content-Transfer-Encoding 필드가 생략되어 있으면 7bit 방식을 의미 
  (7bit 방식, 8bit 방식, 및 binary 방식 이들 세가지방식들은 인코딩을 하지 않는 방식)
  헤더에 Content-Transfer-Encoding 필드가 존재하고 Base64와 Quoted-Printable이 명시되어 있으면 
  8bit코드를 7bit코드로 인코딩하고, 다시 7bit를 8bit로 디코딩한다. 
  그러므로 HTML문서를 전자메일로(SMTP로) 보낼 때나, 그래픽 파일을 첨부파일로 보낼때에 
  이들 문서들은 7bit 텍스트(문자 메시지) 이외에 8bit 이미지 등을 포함하고 있으므로 
  Base64와 Quoted-Printable 방식 중에 하나를 사용해야 한다.
  실제로 Outlook Express는 이 두가지 중 하나로 설정되어 있음을 확인할 수 있다.

+ Recent posts