You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python通过Outlook发送内部/受限/高度受限邮件

使用win32com.client给Outlook邮件添加权限并解决发送报错问题

你遇到的报错是:

com_error: (-214747260, "操作已中止", None, None)

这大概率是因为你的组织Outlook/Exchange策略要求必须指定邮件权限级别,未设置时会触发发送拦截。要添加internal/restricted/highly restricted权限,需使用Outlook对象的Permission属性,对应权限的枚举值如下:

  • Internal:olPermissionInternal(值为2)
  • Restricted:olPermissionRestricted(值为3)
  • Highly Restricted:olPermissionHighlyConfidential(值为4)

同时需要指定权限服务为RMS(默认权限服务),设置PermissionService = 1(对应olPermissionServiceRMS)。

修改后的完整代码示例(以添加Restricted权限为例):

import win32com.client as client

outlook = client.Dispatch("Outlook.Application")
message = outlook.CreateItem(0)

message.To = "xxxx@officemail.com"
message.Subject = "abcd"
message.Body = "abc xyz"

# 设置权限为Restricted,可根据需求替换为2或4
message.Permission = 3
# 指定权限服务为RMS
message.PermissionService = 1

message.Send()

如果需要其他权限,直接将message.Permission的值替换为对应数字即可:

  • 要设为Internal,改message.Permission = 2
  • 要设为Highly Restricted,改message.Permission = 4

内容的提问来源于stack exchange,提问作者a b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:00:52