почему часть mime имеет значение «0» при импорте электронной почты с использованием Gmail API python? - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь получить mime-часть писем, используя Gmail API с Python, но для некоторых сообщений я получаю '0' (ноль) в качестве mime-части.Не могли бы вы объяснить, почему это происходит.

Когда я пробовал одно и то же электронное письмо, перенаправляя на другой аккаунт, код работает нормально. (Почему часть mime изменится, когда мы переадресуем электронную почту, есть ли способ получить часть mimeкак в переадресованной электронной почте без пересылки)

в то время как 'nextPageToken' в ответе: page_token = response ['nextPageToken'] response = service.users (). messages (). list (userId = user_id, q = query, pageToken = page_token) .execute () messages.extend (response ['messages']) print (response ['messages']) для сообщения в сообщениях: print (message ['id']) print (message ['threadId')]) msg_Id = message ['id']

    print('----------New Message--------------')
    message1 = service.users().messages().get(userId=user_id, id=msg_Id,format='raw').execute()

    msg_str = base64.urlsafe_b64decode(message1['raw'].encode('ASCII'))
    mime_msg = email.message_from_bytes(msg_str)
    print ("From:",mime_msg['from'])
    print (mime_msg)

    if mime_msg.is_multipart():
        for part in mime_msg.walk():       
            if part.get_content_type() == "text/plain":
                body = part.get_payload(decode=True) #to control automatic email-style MIME decoding (e.g., Base64, uuencode, quoted-printable)

                body = body.decode(encoding="utf-8")
                print(body)

                results = body.split(" ")
                print(results)
...