я отправить сообщение с моего счета Google на мой GAE электронной почты:Как регистрировать данные электронной почты в консоли администратора AppEngine?
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: base64
Затем используйте следующий код:
logging.debug('Received personal inbound mail from: %s, to: %s, subject: %s' % (mail_message.sender, mail_message.to, mail_message.subject))
body = ''
for b in mail_message.bodies('text/plain'):
body_type, pl = b # content encoding, plain text
if pl.encoding:
body = pl.payload.decode(pl.encoding)
else:
body = pl.payload
if body:
logging.debug('Inbound personal mail body: %s' % (body))
В результате я вижу следующее в консоли:
Received personal inbound mail from: Test <[email protected]>, to: [email protected], subject: Readable russian text
Inbound personal mail body: ������, ��� �������� ���������
Т.е. предмет доступен для чтения, но тело - нет.
Когда я проверяю, что я получаю, я вижу следующее:
text/plain, From nobody Mon Apr 15 17:15:34 2013
content-transfer-encoding: base64
MIME-Version: 1.0
Content-Type: text/plain; charset="koi8-r"
8NLJ18XULCDc1M8g1MXT1M/Xz8Ug08/Pwt3
Если я:
body = pl.payload.decode(pl.encoding).decode('koi8-r')
затем тело сообщения отображается правильно. Но как я должен извлечь кодировку?