Python: Получая только текст сообщения POP3, никакие заголовки

Я пытаюсь сделать программу Python, которая получает только основной текст электронного письма без передающих заголовков или любых других параметров. Я не уверен, как пойти об этом.

Цель состоит в том, чтобы смочь отправить основные команды в программу с помощью текста сообщения.

Что я имею, теперь это:

import poplib

host = "pop.gmail.com"
mail = poplib.POP3_SSL(host)
print mail.getwelcome()
print mail.user("user")
print mail.pass_("pass")
print mail.stat()
print mail.list()
print ""

if mail.stat()[1] > 0:
    print "You have new mail."
else:
    print "No new mail."

print ""

numMessages = len(mail.list()[1])
for i in range(numMessages):
    for j in mail.retr(i+1)[1]:
        print j

mail.quit()
input("Press any key to continue.")

Который является всем штрафом, кроме тех случаев, когда "печать J" выполняется, это печатает все сообщение, включая заголовки. Я просто хочу извлечь основной текст без любого дополнительного мусора.

Кто-либо может помочь?Спасибо!

6
задан mplewis 7 February 2010 в 19:51
поделиться

2 ответа

Вы можете разобрать электронную почту, используя модуль электронной почты .

2
ответ дан 9 December 2019 в 22:34
поделиться

Это фрагмент кода из моего собственного считывателя POP3:

        response, lines, bytes = pop.retr(m)

        # remove trailing blank lines from message
        while lines[-1]=="": 
            del lines[-1]

        try:
            endOfHeader = lines.index('')
            header = lines[:endOfHeader]
            body = lines[endOfHeader+1:]
        except ValueError:
            header = lines
            body = []

Это означает, что первая пустая строка в списке всех строк является концом информации заголовка. Затем просто перечислите фрагмент оттуда до конца для тела сообщения.

4
ответ дан 9 December 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: