【问题标题】:How can I display email messages in Tkinter?如何在 Tkinter 中显示电子邮件消息?
【发布时间】:2015-06-17 07:49:15
【问题描述】:

我一直在用 python/tkinter 编写一个电子邮件应用程序,我从我的 gmail 下载消息,然后将它们显示在一个窗口中。

我一直遇到的问题是,大多数消息都包含 html 并且显示为乱码。

有什么方法可以在 tkinter 中正确显示电子邮件,可能没有图片,以一种不会作为大量 html 代码等出现的方式显示。我尝试过 html2text 但这不适用于所有电子邮件和仍然显示得很糟糕(单词之间有很大的差距等)?

谢谢

【问题讨论】:

  • 您可以将消息写入临时文件并使用webbrowser 模块使用file://... url 打开该文件以进行显示。

标签: python html email tkinter imaplib


【解决方案1】:

您可以使用BeautifulSoup,假设您有HTML 数据和一个id 对应于包含消息正文的元素。如果这没有意义,请告诉我。

from bs4 import *

soup = BeautifulSoup(html_data_in_here)
text = soup.find(id = body_id).getText()

【讨论】:

  • 谢谢,这是有道理的。如何仅提取电子邮件的 html 部分?
  • 只需删除 getText() 并转换为字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-30
  • 2023-03-06
  • 2021-02-06
  • 2015-08-13
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多