首页 > 编程语言 >python从QQ邮箱中读取最新邮件,并以纯文本的方式在控制台显示

python从QQ邮箱中读取最新邮件,并以纯文本的方式在控制台显示

时间:2024-10-27 18:58:48浏览次数:7  
标签:QQ 以纯 get python IMAP content mail message email

import imaplib
import email
from email.policy import default
from html2text import html2text

IMAP_SERVER = 'imap.qq.com'  # 例如: 'imap.gmail.com'  
IMAP_PORT = 993  # 默认IMAP端口为993  
EMAIL_ADDRESS = '[email protected]'  # 你的邮箱地址  
EMAIL_PASSWORD = 'xxxxxxxxxxxx'  # IMAP授权密码
# 创建 IMAP 连接
mail = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)

# 登录邮箱
mail.login(EMAIL_ADDRESS, EMAIL_PASSWORD)

# 选择邮箱文件夹
mail.select('INBOX')

# 搜索符合条件的邮件
result, data = mail.search(None, 'ALL')

# 获取邮件编号列表
email_ids = data[0].split()

# 获取最新一封邮件的内容
latest_email_id = email_ids[-1]
result, data = mail.fetch(latest_email_id, '(RFC822)')

# 解析邮件内容
raw_email = data[0][1]
email_message = email.message_from_bytes(raw_email)


# 打印邮件主题和内容
print('Subject:', email_message['Subject'].encode('utf-8'))
print('From:', email_message['From'].encode('utf-8'))
print('To:', email_message['To'])
print('Date:', email_message['Date'])
payload = email_message.get_payload(decode=True)

text_content = ""
if email_message.is_multipart():
    # 如果邮件是多部分消息,则递归处理每个部分
    for part in email_message.get_payload():
        if part.get_content_type() == "text/html":
            text_content += part.get_payload(decode=True).decode(part.get_content_charset() or 'utf-8')
else:
    text_content = email_message.get_payload(decode=True).decode('utf-8')

print(html2text(text_content))


# 关闭连接
mail.logout()
input('Press Enter to exit...')

 

标签:QQ,以纯,get,python,IMAP,content,mail,message,email
From: https://www.cnblogs.com/meetrice/p/18508753

相关文章

  • 高效自动化运维:Python在Linux与Windows环境下的应用
    高效自动化运维:Python在Linux与Windows环境下的应用目录......
  • python总结
    hell.py:defparse_data():withopen(r"G:/人民币货币对.txt",mode="r")asf:itle_list=f.readline().strip().split("\t")withopen(r"G:/人民币汇率中间价历史数据.txt",mode="r",encoding="utf-8")as......
  • 高效网络自动化:Python在网络基础中的应用
    高效网络自动化:Python在网络基础中的应用目录......
  • 使用Python实现深度学习模型进行智能可再生能源优化
    在现代能源管理中,优化可再生能源的利用是至关重要的。本文将介绍如何使用Python和深度学习技术构建一个智能可再生能源优化模型,并通过代码示例详细说明该过程。引言可再生能源(如太阳能、风能)具有不稳定性和不可预测性。使用深度学习模型可以更好地预测能源生产,并优化能源......
  • 使用Python实现深度学习模型:智能天气预测与气候分析
    在现代科技的推动下,天气预测和气候分析变得越来越智能化和精准。本文将介绍如何使用Python和深度学习技术构建一个智能天气预测与气候分析模型,帮助我们更好地理解和预测天气变化。本文将从数据准备、模型构建、训练与评估等方面进行详细讲解。一、数据准备天气预测模型需......
  • Ruby 和 Python 相比有什么优势和缺陷
    摘要:Ruby与Python相比,在语法灵活性、元编程能力和社区文化方面具有优势;而在科学计算、教育资源和执行效率方面存在不足。在多语言编程环境中,Ruby与Python各有所长。Ruby以其流畅的语法和深入的元编程能力受到部分开发者青睐,这使得Ruby在Web开发、尤其是使用RubyonRAIls......
  • 电脑无法上网,但是微信、QQ可以正常使用​
    这种情况一般是由于DNS服务器配置错误,或者已有的DNS服务器无法正常解析地址造成的。按下win+R打开运行,输入,点击确定。在打开的网络连接窗口中找到对应的网卡,双击打开。一般有线网是“以太网”,无线网(WiFi)是“WLAN”。点击属性。双击“Internet协议版本4(TCP/IPv4)”,或者也可以选中以后......
  • Python小游戏13——植物大战僵尸
    代码 importrandomimporttime #植物类classPlant:  def__init__(self,name,health):    self.name=name    self.health=health   defis_alive(self):    returnself.health>0 #僵尸类classZombie: ......
  • Python小游戏14——雷霆战机
     首先,你需要确保安装了Pygame库。如果你还没有安装,可以使用pip来安装: bashpipinstallpygame代码如下:pythonimportpygameimportsysimportrandom #初始化Pygamepygame.init() #设置屏幕大小screen_width=800screen_height=600screen=pygam......
  • Python TCP通讯教程
    文章目录一、TCP协议简介二、PythonTCP通讯基础三、TCP服务器端的实现四、TCP客户端的实现五、TCP通讯的扩展功能六、示例代码七、注意事项一、TCP协议简介TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。T......