小白熊尼 2023-07-27 18:11 采纳率: 0%
浏览 4

Outlook邮件读取状态变更

Python读取自己的邮箱中第一封未读邮件的发件人,接收邮件的日期,主题,然后将读取状态变为未读

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-27 20:30
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: Python连接Outlook读取邮件和发送邮件中的 读取邮件 部分也许能够解决你的问题。
    • 以下回答由chatgpt基于相关博客总结生成:

      先安装pywin32库,使用以下命令进行安装:

      pip install pywin32
      

      然后,使用以下代码来读取未读邮件信息并标记为已读:

      import win32com.client
      
      # 连接到Outlook应用程序
      outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
      
      # 获取收件箱文件夹
      inbox = outlook.GetDefaultFolder(6)
      
      # 获取未读邮件
      unread = inbox.Items.Restrict("[Unread] = True")
      
      # 如果存在未读邮件
      if unread.Count > 0:
          # 获取第一封未读邮件
          mail = unread.GetFirst()
      
          # 获取发件人、接收日期和主题
          sender = mail.SenderName
          received_date = mail.ReceivedTime
          subject = mail.Subject
      
          # 标记邮件为已读
          mail.UnRead = False
      
          # 保存邮件更改
          mail.Save()
      
          print("发件人:", sender)
          print("接收日期:", received_date)
          print("主题:", subject)
      else:
          print("没有未读邮件")
      

      以上代码通过pywin32库连接到Outlook应用程序,并获取收件箱文件夹。然后,使用Restrict方法过滤所有未读邮件。如果存在未读邮件,获取第一封未读邮件的发件人、接收日期和主题,并将其状态从未读变为已读。最后,打印出获取的邮件信息。

      请注意,该代码只能读取默认邮箱的收件箱。如果需要读取其他文件夹或其他Outlook账户的邮件,请相应地修改代码。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 7月27日

悬赏问题

  • ¥15 from seleniumwire import webdriver 在抓取http://链接的时候会自动转https://这个怎么解决
  • ¥15 hive直连数据库模式插入mysql表数据失败(相关搜索:数据库)
  • ¥30 不会,学习,有偿解答
  • ¥15 SQL查询语句报错(检查)
  • ¥15 此表中公式应该怎么写
  • ¥15 求HI-TECH PICC 9.50 PL3安装包
  • ¥15 下载ctorch报错,求解
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit