当前位置: 首页 > 知识库问答 >
问题:

Python Gmail Api Base64解码电子邮件正文中的奇怪字符

范稳
2023-03-14
query = 'to:me after:{}'.format(weekStartDate)

unreadEmailsQuery = service.users().messages().list(userId='me', q=query).execute()

# For Each Email
for message in unreadEmailsQuery['messages']:
    result = service.users().messages().get(id=message['id'],userId='me').execute()
  email_content = ''

  if 'data' in result['payload']['body'].keys():
         email_content+= result['payload']['body']['data']
    else:

        for part in result['payload']['parts']:
            email_content = part['body']['data'] + email_content



    test = bytes(str(email_content),encoding='utf-8')
    print(base64.decodebytes(test))
b'<body\x03B\x83B\x83B\x83B\x88\x08\x0f\x1bY]\x18H\x1a\x1d\x1d\x1c\x0bY\\]Z]\x8fH\x90\xdb\

我正试图从我的电子邮件中提取单词,这样我就可以训练分类器,但我卡住了。

如有任何帮助,将不胜感激。

共有1个答案

全心思
2023-03-14

我需要使用URl安全的base64解码。

我通过修改最后一行来实现这个功能:

print(base64.decodebytes(test))

致:

print(base64.urlsafe_b64decode(test))
 类似资料:
  • 首先,我将设置场景。我正在使用双周库创建一个VEvent和一个iCalendar。一切都很好(代码如下)。我可以成功地发送日历邀请到谷歌和适当的‘接受,拒绝,添加到日历’选项可用。 当我向Outlook发送相同的消息时,我没有收到正确的邀请。邮件的格式是希望收件人发送邀请--而不是被邀请,也不是添加到他/她的日历中。 框架:

  • 我已经实现了一个读取电子邮件文件的功能。如果文件有附件,则返回附件名称。现在我使用Javamail库来解析电子邮件文件。这是我的代码。 它工作得很好,但是当电子邮件文件具有7bit Content-Transfer-Encoding时,BodyPart.getFileName()会产生NullPointerException。当电子邮件是7bit内容传输编码时,有没有办法获得附件名称?对不起,我的

  • 问题内容: 我有一个这样的字符串: 我想以正确的UTF-8编码获取文件名。在Maven Central的某处是否有一个库方法可以为我执行此解码,还是我需要测试模式并手动解码base64? 问题答案: 在MIME术语中,那些编码的块称为编码字。看看在JavaMail的。该方法将解码字符串中的所有编码词。 你可以用

  • 问题内容: 是否有比使用Stringbuilder进行以下操作更好的方法来生成C#HTML电子邮件(用于通过System.Net.Mail发送): 等等等等? 问题答案: 您可以使用MailDefinition类。 这是您的用法:

  • 问题内容: 发送电子邮件时,我遇到一些外来字符的麻烦。有人可以建议我该怎么做吗?我怀疑问题可能是三件事之一。 html页面编码不正确。(这会影响表单中的POST数据吗?) 邮件功能没有任何编码。因此,该程序不知道如何读取它。(最有可能的) 文件本身没有正确的编码,因此出现了问题。(可能不太可能) 还有其他可能的原因吗? 我试图将它们一一淘汰,直到发现问题。我认为选项2是最可能的原因。如何为邮件功能

  • 我想将数据库中的电子邮件更新为正确的电子邮件,例如abc.@gmial.com,为了做到这一点,我想从数据库中读取名字,但当我写下面的语法时,它会给我带来错误 我的语法使用hibernate session.createquery。 2021年1月12日8:00:32 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerCo