如何通过pywin32将Outlook邮件标记为‘已完成’?
使用pywin32标记Outlook邮件为已完成
要实现标记邮件为已完成,仅设置FlagRequest无法生效,需要通过控制FlagStatus属性并保存更改来完成,以下是可行代码:
方法一:直接使用枚举值
# 假设已获取到目标message对象 message.FlagStatus = 1 # 1对应Outlook中"已完成"的标记状态 message.Save() # 必须调用Save()保存修改
方法二:使用Outlook枚举常量
import win32com.client # 初始化Outlook实例 outlook = win32com.client.Dispatch("Outlook.Application") namespace = outlook.GetNamespace("MAPI") # 获取目标邮件对象(示例:收件箱中第一封邮件) inbox = namespace.GetDefaultFolder(6) message = inbox.Items[0] # 调用枚举常量设置已完成 olFlagComplete = win32com.client.constants.olFlagComplete message.FlagStatus = olFlagComplete message.Save()
关键说明
FlagRequest仅用于标记的文本描述,无法控制实际的标记状态,真正决定标记状态的是FlagStatus属性。- 所有对邮件对象的修改必须调用
Save()方法,否则更改不会同步到Outlook客户端中。
内容的提问来源于stack exchange,提问作者user1928300
相关产品推荐
相关产品推荐

