使用Gmail API python导入电子邮件时,为什么mime部分变为“ 0”?

时间:2019-02-10 12:45:05

标签: python api gmail mime-types

我正在尝试使用带有Python的Gmail API来获取电子邮件的哑剧部分,但是对于某些电子邮件,我将其设为“ 0”(零)作为哑剧部分。您能解释一下为什么会这样吗?

当我尝试通过转发到不同的帐户尝试发送同一封电子邮件时,代码工作正常。(为什么在转发电子邮件时,mime部分会发生变化,有没有办法像转发电子邮件一样获得mime部分而不转发)

而'nextPageToken'作为响应:       page_token = response ['nextPageToken']       响应= service.users()。messages()。list(userId = user_id,q = query,pageToken = page_token).execute()       messages.extend(response ['messages'])       打印(响应['messages'])     对于消息中的消息:         打印(message ['id'])         打印(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)

0 个答案:

没有答案