Я использую эту функцию для анализа электронной почты. Я могу анализировать «простые» электронные письма, состоящие из нескольких частей, но это выдает ошибку (UnboundLocalError: локальная переменная «html», указанная перед назначением), когда электронное письмо определяет несколько границ (подчастей). Я хотел бы, чтобы сценарий разделял текстовую и HTML-части и возвращал только HTML-часть (если HTML-части нет, возвращайте текст).
def get_text(msg):
text = ""
if msg.is_multipart():
for part in msg.get_payload():
if part.get_content_charset() is None:
charset = chardet.detect(str(part))['encoding']
else:
charset = part.get_content_charset()
if part.get_content_type() == 'text/plain':
text = unicode(part.get_payload(decode=True),str(charset),"ignore").encode('utf8','replace')
if part.get_content_type() == 'text/html':
html = unicode(part.get_payload(decode=True),str(charset),"ignore").encode('utf8','replace')
if html is None:
return text.strip()
else:
return html.strip()
else:
text = unicode(msg.get_payload(decode=True),msg.get_content_charset(),'ignore').encode('utf8','replace')
return text.strip()
Подробнее здесь: https://stackoverflow.com/questions/482 ... ing-python
Анализ электронного письма, состоящего из нескольких частей, с подчастями с использованием Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение