Хорошо, поэтому загружаю электронное письмо из gmail с помощью imaplib, а затем, когда я пытаюсь разобрать электронную почту, он не отделяет ничего в удобном для использования формате. Я подозреваю, что это происходит потому, что где-то в процессе «<» или «>» добавляются к необработанному электронному письму.email.message_from_string() и imaplib добавление '<' '>'
Вот что отладчик показывает мне после того, как я назвал метод: Как вы можете видеть это на самом деле не разбирается что-либо в удобном формате.
Вот код, я использую: (. Примечание: .replace('>', '')
кажется, не имеет никакого влияния на конечный результат)
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('[email protected]', 'password')
mail.list()
mail.select('inbox')
typ, data = mail.search(None, 'ALL')
ids = data[0]
id_list = ids.split()
# get the most recent email id
latest_email_id = int(id_list[-1])
# iterate through 15 messages in descending order starting with latest_email_id
# the '-1' dictates reverse looping order
for i in range(latest_email_id -10, latest_email_id-15, -1):
typ, data = mail.fetch(str(i), '(RFC822)')
for response_part in data:
if isinstance(response_part, tuple):
msg = str(response_part[1]).replace('<', '')
msg = msg.replace('>', '')
msg = email.message_from_string(msg)
#msg = feedparser.parse(response_part[1])
varSubject = msg['subject']
varFrom = msg['from']
python email.message_from_string() parse problems и Parsing email with Python оба были очень похожи и одинаковые проблемы для меня (я думаю), и они решили это, изменив их электронную почту, однако я читаю свою электронную почту прямо с серверов Google, поэтому я не уверен, что делать с электронной почтой, чтобы исправить ее, так как все «<» и «>» очевидно не будет работать.
Как я могу исправить письмо, которое считывается из imaplib, чтобы его можно было легко прочитать с помощью mail.message_from_string()? (Или любые другие улучшения/возможные решения, как я не 100% уверен, что «<» и «>» на самом деле проблема, я только гадать, основанные от этих других вопросов.)
Приветствия