使用Python在Outlook中移动邮件项目

使用Python在Outlook中移动邮件项目,python,outlook,Python,Outlook,我尝试将邮件从Outlook中的一个文件夹移动到另一个文件夹,但不起作用,我不知道为什么 这是我的密码: import win32com.client outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") inbox = outlook.GetDefaultFolder(6).Folders("1VehicleMonitor").Folders("ToDo") donebox = outlo

我尝试将邮件从Outlook中的一个文件夹移动到另一个文件夹,但不起作用,我不知道为什么

这是我的密码:

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6).Folders("1VehicleMonitor").Folders("ToDo")
donebox = outlook.GetDefaultFolder(6).Folders("1VehicleMonitor").Folders("Done")

messages = inbox.Items

message = messages.GetLast()
body_json = message.body

if message.UnRead == True:
    #do something magical
    message.UnRead = False
    message.Move(donebox)

提前谢谢。

天哪,我自己找到了答案。我就是不明白为什么:D

函数必须在If子句外部调用

if message.UnRead == True:
    #do something magical
    message.UnRead = False

message.Move(donebox)

Python是否检查每一行代码的子句?我刚刚用Java开发了一些东西,其中的子句只检查了一次…

天哪,我自己找到了答案。我就是不明白为什么:D

函数必须在If子句外部调用

if message.UnRead == True:
    #do something magical
    message.UnRead = False

message.Move(donebox)

Python是否检查每一行代码的子句?我刚刚用Java开发了一些东西,有一个只检查一次的子句…

是否有错误代码被打印出来?没有,不幸的是没有=/什么是“它不工作”的意思?添加一堆打印语句并得到显示them@dimitry每一行代码都在工作,除了最后一个应该将邮件从一个文件夹移动到另一个文件夹的文件夹。运行代码后,邮件项目在outlook中显示为已读,但仍在文件夹“ToDo”中。它应该被移动到文件夹“完成”是否有错误代码被打印出来?不,不幸的是没有=/什么是“它不工作”的意思?添加一堆打印语句并得到显示them@dimitry每一行代码都在工作,但最后一行代码除外,在最后一行代码中,邮件应该从一个文件夹移动到另一个文件夹。运行代码后,邮件项目在outlook中显示为已读,但仍在文件夹“ToDo”中。它应该被移动到文件夹“Done”,它只检查一次,如果为true,则执行块中的每一行。如果为false,则不执行该块中的任何行。就像在Java中一样。好吧,我完全不知道为什么我必须将代码行移出if子句,因为它不属于
if
,但无论邮件是否未读,都应该执行。如果要独立于
if
条件的结果移动消息,也不能将该行作为Java中
if
分支的一部分。它只检查一次,如果为true,则执行块中的每一行。如果为false,则不执行该块中的任何行。就像在Java中一样。好吧,我完全不知道为什么我必须将代码行移出if子句,因为它不属于
if
,但无论邮件是否未读,都应该执行。如果要独立于
if
条件的结果移动消息,也不能将该行作为Java中
if
分支的一部分。