使用Python发送Outlook 365机密邮件时Sensitivity属性无效如何解决
Python调用Outlook 365发送机密级别邮件失效修复方案
核心失效原因
原有代码的属性赋值逻辑符合官方接口定义,未生效通常由两个场景导致:
- Outlook 365部分版本的本地客户端,会直接忽略未持久化保存的自定义属性,发送操作前没有执行保存步骤会导致敏感度配置被丢弃
- 所属企业的Exchange管理员配置了组策略,禁用了终端用户手动设置邮件敏感度等级的权限,赋值操作会被后台自动覆盖
修复后可运行代码
import win32com.client as win32 outlook = win32.Dispatch('outlook.application') mail = outlook.CreateItem(0) mail.To = 'name.surname@company.com' mail.Subject = 'xyz' mail.Body = 'abcdefgh' # OlSensitivity枚举值说明:0=普通,1=个人,2=私有,3=机密 mail.Sensitivity = 3 # 新增保存步骤,确保属性配置被持久化后再发送 mail.Save() mail.Send()
生效验证方式
- 发送完成后打开本地Outlook的「已发送邮件」文件夹,找到对应邮件查看头部标识,正常会显示机密标签
- 如果修改后仍不生效,可联系企业Exchange管理员确认权限配置
内容的提问来源于stack exchange,提问作者ragethewolf
相关产品推荐
相关产品推荐

