用python写一段收到邮件会在桌面弹出提醒

2023-12-13 11:08:22

为了实现这个功能,你需要使用Python的邮件库和桌面通知库。以下是一个实现的例子:

import imaplib
import email
import re
import os
from plyer import notification

# 邮箱登录信息
email_address = "your_email_address"
password = "your_password"

# 邮箱服务器的地址和端口
imap_server = "imap.example.com"
imap_port = 993

# 连接到IMAP服务器并登录
mail = imaplib.IMAP4_SSL(imap_server, imap_port)
mail.login(email_address, password)

# 选择收件箱
mail.select("inbox")

# 搜索未读邮件
status, response = mail.status("inbox", "(UNSEEN)")
unread_count = int(re.search(r"UNSEEN (\d+)", response[0].decode()).group(1))

if unread_count > 0:
    # 获取最新的未读邮件
    status, response = mail.search(None, "(UNSEEN)")
    unread_emails = response[0].split()

    # 获取最新的未读邮件的信息
    status, response = mail.fetch(unread_emails[-1], "(RFC822)")
    raw_email = response[0][1]
    email_message = email.message_from_bytes(raw_email)

    # 获取邮件主题和发件人
    subject = email_message["Subject"]
    sender = email.utils.parseaddr(email_message["From"])[1]

    # 发送桌面通知
    notification.notify(
        title="New Email",
        message=f"You have a new email from {sender}: {subject}",
        timeout=10
    )

# 退出IMAP服务器
mail.logout()

上面的代码需要安装imaplibplyer库,可以使用以下命令进行安装:

pip install imaplib plyer

请替换your_email_addressyour_password为你自己的邮箱地址和密码。然后将代码保存为一个Python脚本,并运行它。当你收到新邮件时,会在桌面上弹出一个通知提醒你。

文章来源:https://blog.csdn.net/xukris/article/details/134963268
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。