parts.append(submsg.get_content_type()) ct_fields.append(submsg.get('Content-Type', '')) filenames.append(submsg.get_filename()) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

parts.append(submsg.get_content_type()) ct_fields.append(submsg.get('Content-Type', '')) filenames.append(submsg.get_filename())

Поиск

parts.append(submsg.get_content_type()) ct_fields.append(submsg.get('Content-Type', '')) filenames.append(submsg.get_filename())

 

if submsg.get_filename():

print "Длина файла:", len(submsg.get_payload()) f.close()

 

print parts


 


print ct_fields print filenames

 

В результате получилось:

 

Длина файла: 31173

 

['multipart/mixed', 'text/html', 'application/octet-stream'] ['multipart/mixed;\n boundary="--------hidejpxkblmvuwfplzue"', 'text/html; charset="us-ascii"',

 

'application/octet-stream; name="price.cpl"'] [None, None, 'price.cpl']

 

Из списка parts можно увидеть,что само сообщение имеет тип multipart/mixed,тогда как две его части-text/html и application/octet-stream соответственно.Только с последней частью связано имя файла(price.cpl).Файл читается методом get_payload() и вычисляется его длина.

 

Кстати,в случае,когда сообщение является контейнером для других частей,get_payload() выдает список объектов-сообщений(то есть экземпляров класса Message).

 

Формирование сообщения

 

Часто возникает ситуация,когда нужно сформировать сообщение с вложенным файлом.В следующем примере строится сообщение с текстом и вложением.В качестве класса для порождения сообщения можно использовать не только Message из модуля email.Message,но и MIMEMultipart из email.MIMEMultipart(для сообщений из нескольких частей),MIMEImage(для сообщения с графическим изображением),MIMEAudio(для аудиофайлов),MIMEText(для текстовых частей):

 

# Загружаются необходимые модули и функции из модулей from email.Header import make_header as mkh



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 53; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.007 с.)