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

如何通过Python SMTP在Outlook邮件添加‘Confidential/Internal use editable’标签

问题描述

我有一段通过SMTP服务器发送邮件的Python代码:

import smtplib
import email.message as EM

try:
    smtp_server = ''
    smtp = smtplib.SMTP(smtp_server)
    smtp.ehlo()
    from_address = ''
    to_address = ''
    header = EM.Message()
    header["From"] = from_address
    header["To"] = to_address
    header["Subject"] = 'Checking Email Functionality'
    header.add_header("Content-Type", "text/html")
    header.set_payload('checking how email function works')
    res = smtp.sendmail(from_address, to_address.split(','), header.as_string())
    print(res)
    smtp.quit()
    print('Shared successfully')
except Exception as e:
    print(e)

当前使用这段代码发送邮件时,未添加敏感头信息的显示效果为无敏感头邮件样式;添加以下头信息后:

header["Sensitivity"] = "Company-Confidential"
header["X-Ms-Exchange-Organization-Classification"] = "Confidential/Internal Use"

显示效果为带敏感头但不符合预期的邮件样式,仍达不到要求。我希望实现带有“Confidential/Internal use editable”特定标签样式的效果,请问需要做哪些修改?能否通过SMTP实现?若不能,有什么替代方案?

解决方案

能否通过SMTP实现?

可以,但需调整邮件头字段。你要的是Exchange/Outlook特有的可编辑保密标签,仅靠Sensitivity和X-Ms-Exchange-Organization-Classification两个头无法触发目标样式。

具体修改步骤

需要添加Exchange专用的邮件头字段,关键是匹配后台配置的标签唯一标识:

  1. 添加X-MS-Exchange-Organization-LabelIds头:该字段对应你要使用的“Confidential/Internal use editable”标签的GUID,需从Exchange管理员后台获取对应标签的ID值。
  2. 保留并对齐现有头字段的值,确保与标签配置一致。

修改后的代码片段如下:

# 添加Exchange保密标签相关头
header["Sensitivity"] = "Company-Confidential"
header["X-Ms-Exchange-Organization-Classification"] = "Confidential/Internal Use"
# 替换为你实际的标签GUID
header["X-MS-Exchange-Organization-LabelIds"] = "00000000-0000-0000-0000-000000000000"
header["X-MS-Exchange-Organization-LabelName"] = "Confidential/Internal use editable"

注意:X-MS-Exchange-Organization-LabelIds的值必须是Exchange管理员预先创建好的对应标签的GUID,没有正确的ID,Outlook不会显示对应的可编辑标签样式。

替代方案

如果无法获取Exchange标签的GUID,或SMTP方式受限制,可选择以下方案:

  • Microsoft Graph API:直接调用Outlook/Exchange的官方API发送邮件,支持直接指定标签ID,能完美触发所需的可编辑保密标签样式。大致流程为:获取Azure AD应用访问令牌 → 构造包含标签信息的邮件JSON payload → 调用POST /me/sendMail或POST /users/{id}/sendMail接口发送邮件。
  • Outlook桌面客户端VBA脚本:若为本地批量发送需求,可编写VBA脚本调用Outlook对象模型,直接设置邮件的保密标签。

内容的提问来源于stack exchange,提问作者umang waghela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:53:19