email.encoders
: Encoders¶
Вихідний код: Lib/email/encoders.py
Цей модуль є частиною застарілого (Compat32
) API електронної пошти. У новому API функціональні можливості забезпечуються параметром cte методу set_content()
.
Цей модуль є застарілим у Python 3. Надані тут функції не слід викликати явно, оскільки клас MIMEText
встановлює тип вмісту та заголовок CTE за допомогою значень _subtype і _charset передана під час створення екземпляра цього класу.
Решта тексту в цьому розділі є оригінальною документацією модуля.
Під час створення об’єктів Message
з нуля вам часто потрібно закодувати корисні дані для транспортування через сумісні поштові сервери. Особливо це стосується повідомлень типу image/* і text/*, що містять двійкові дані.
The email
package provides some convenient encoders in its
encoders
module. These encoders are actually used by the
MIMEAudio
and MIMEImage
class constructors to provide default encodings. All encoder functions take
exactly one argument, the message object to encode. They usually extract the
payload, encode it, and reset the payload to this newly encoded value. They
should also set the Content-Transfer-Encoding header as appropriate.
Зауважте, що ці функції не мають значення для багатокомпонентного повідомлення. Натомість вони повинні застосовуватися до окремих підчастин і викличуть TypeError
, якщо передано повідомлення, тип якого є багатокомпонентним.
Ось доступні функції кодування:
-
email.encoders.
encode_quopri
(msg)¶ Кодує корисне навантаження у форму для друку в цитатах і встановлює для заголовка Content-Transfer-Encoding значення
quoted-printable
1. Це хороше кодування для використання, коли більша частина вашого корисного навантаження є звичайними даними для друку, але містить кілька недрукованих символів.
-
email.encoders.
encode_base64
(msg)¶ Кодує корисне навантаження у форму base64 і встановлює для заголовка Content-Transfer-Encoding значення
base64
. Це хороше кодування для використання, коли більша частина вашого корисного навантаження є недрукованими даними, оскільки це більш компактна форма, ніж придатна для друку в цитатах. Недоліком кодування base64 є те, що воно робить текст недоступним для читання людиною.
-
email.encoders.
encode_7or8bit
(msg)¶ Це фактично не змінює корисне навантаження повідомлення, але встановлює для заголовка Content-Transfer-Encoding значення
7bit
або8bit
відповідно, на основі даних корисного навантаження.
-
email.encoders.
encode_noop
(msg)¶ Це нічого не робить; він навіть не встановлює заголовок Content-Transfer-Encoding.
Виноски
- 1
Зауважте, що кодування за допомогою
encode_quopri()
також кодує всі символи табуляції та пробілів у даних.