"email.encoders": Encoders
**************************

**소스 코드:** Lib/email/encoders.py

======================================================================

이 모듈은 레거시("Compat32") 이메일 API의 일부입니다. 새로운 API에서
기능은 "set_content()" 메서드의 *cte* 매개 변수에 의해 제공됩니다.

이 모듈은 파이썬 3에서 폐지되었습니다. "MIMEText" 클래스는 인스턴스 화
중에 전달된 *_subtype*과 *_charset* 값을 사용하여 콘텐츠 유형과 CTE 헤
더를 설정하므로 여기에 제공된 함수를 명시적으로 호출하면 안 됩니다.

이 섹션의 나머지 텍스트는 모듈의 원본 설명서입니다.

"Message" 객체를 처음부터 만들 때, 종종 호환 메일 서버를 통한 전송을
위해 페이 로드를 인코딩해야 합니다. 바이너리 데이터가 포함된 *image/**
와 *text/** 유형 메시지의 경우 특히 그렇습니다.

"email" 패키지는 "encoders" 모듈에서 편리한 인코더를 제공합니다. 이 인
코더는 실제로 "MIMEAudio"와 "MIMEImage" 클래스 생성자가 기본 인코딩을
제공하는 데 사용됩니다. 모든 인코더 함수는 정확히 하나의 인자, 인코딩
할 메시지 객체를 취합니다. 일반적으로 페이 로드를 추출하여, 인코딩한
다음, 페이 로드를 새로 인코딩된 값으로 재설정합니다. 또한 *Content-
Transfer-Encoding* 헤더를 적절하게 설정합니다.

이러한 함수는 멀티 파트 메시지에는 의미가 없음에 유의하십시오. 대신 개
별 서브 파트에 적용해야 하며, 유형이 멀티 파트인 메시지를 전달하면
"TypeError"가 발생합니다.

제공되는 인코딩 함수는 다음과 같습니다:

email.encoders.encode_quopri(msg)

   페이 로드를 인용 quoted-printable 형식으로 인코딩하고 *Content-
   Transfer-Encoding* 헤더를 "quoted-printable"로 설정합니다 [1]. 이것
   은 대부분의 페이 로드가 인쇄 가능한 일반 데이터이지만, 인쇄할 수 없
   는 문자가 몇 개 있을 때 사용하기에 적합한 인코딩입니다.

email.encoders.encode_base64(msg)

   페이 로드를 base64 형식으로 인코딩하고 *Content-Transfer-Encoding*
   헤더를 "base64"로 설정합니다. 이것은 페이 로드가 대부분 인쇄할 수
   없는 데이터일 때 사용하기에 좋은 인코딩입니다. quoted-printable보다
   더 압축된 형식이기 때문입니다. base64 인코딩의 단점은 텍스트를 사람
   이 읽을 수 없도록 만든다는 것입니다.

email.encoders.encode_7or8bit(msg)

   이것은 실제로 메시지의 페이 로드를 수정하지는 않지만, 페이 로드 데
   이터를 기반으로, *Content-Transfer-Encoding* 헤더를 적절하게 "7bit"
   나 "8bit"로 설정합니다.

email.encoders.encode_noop(msg)

   이것은 아무것도 하지 않습니다. 심지어 *Content-Transfer-Encoding*
   헤더도 설정하지 않습니다.

-[ 각주 ]-

[1] "encode_quopri()"로 인코딩하면 데이터의 모든 탭과 공백 문자도 인코
    딩됨에 유의하십시오.
