Outlook Delegate

📧 企业邮箱委托代理,三种身份灵活发信

通过 Microsoft Graph API 以委托身份访问 Outlook 邮箱与日历,支持以本人、所有者或代表所有者三种模式发送邮件。

收藏
5.6k
安装
1.5k
版本
1.1.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

Outlook Delegate Skill 综合评估

核心用法

本 Skill 专为 Microsoft 365 企业环境设计,允许 AI 助手以委托(Delegate)身份访问另一名用户的邮箱和日历。核心架构基于 Microsoft Graph API,采用 OAuth 2.0 delegated 权限模型,支持三种邮件发送模式:

1. As Self(作为本人):邮件显示来自 AI 助手
2. Send As(作为所有者):邮件完全显示来自邮箱所有者,无委托痕迹

3. Send on Behalf(代表所有者):邮件显示「AI 助手代表所有者发送」

关键实现机制:三种模式调用相同的 Graph API 端点(/users/{delegate}/sendMail),差异完全由 Exchange 层面的权限配置决定,而非 API 参数。这要求管理员在 Exchange Online PowerShell 中精确配置 SendAsSendOnBehalf 权限,且严禁同时授予两种权限(否则 Exchange 优先采用 SendAs)。

显著优点

  • 权限粒度精细:支持只读、发送、日历管理等细分权限,可通过 PowerShell 精确控制访问范围
  • 企业级合规:所有操作写入邮箱审计日志,支持 OAuth token 自动刷新,凭证文件强制 600 权限
  • 发送模式灵活:三种身份模式满足高管助理、客服代发、透明代理等不同场景
  • 安全设计改进:v1.1.0 修复了进程泄漏(secrets 通过 stdin 传递)、JSON 注入防护(jq 转义)、目录权限强制等关键漏洞

潜在缺点与局限性

  • 配置复杂度高:需同时完成 Entra ID 应用注册、Graph API 权限、Exchange PowerShell 授权三层配置,对非管理员用户门槛极高
  • 权限冲突风险:SendAs 与 SendOnBehalf 互斥性设计易误配,导致「代表发送」功能失效
  • Sent Items 行为不一致:默认情况下委托发送的邮件存入助手的发件箱,需额外 Exchange 配置才能同步到所有者发件箱
  • 单租户限制:仅支持「Accounts in this organizational directory only」,不支持多租户或个人 Microsoft 账户
  • 依赖 PowerShell:所有委托权限配置需 Exchange Online Management 模块,无法纯通过 Azure 门户完成

适合人群

  • 企业高管助理:需以老板身份或代表身份处理邮件、管理日程
  • IT 管理员:需要为服务账户、共享邮箱配置自动化邮件处理
  • 客服/运营团队:需通过统一邮箱地址对外沟通,但保留操作者追溯

常规风险

  • 凭证泄露风险client_secret 和 refresh token 存储于本地文件,虽权限受限但仍需防范本地提权攻击
  • 权限扩大化Mail.ReadWrite.SharedFullAccess 组合理论上允许读取/删除所有者全部邮件,需严格遵循最小权限原则
  • 审计盲区:若管理员未启用 MessageCopyForSentAsEnabled,委托发送的邮件可能不进入所有者发件箱,造成合规漏洞
  • Token 过期中断:需定期执行 refresh 脚本,长期无人值守场景需考虑自动化机制

版本更新亮点

v1.1.0 是一次重要的安全维护更新,修复了 reply 重复发送、draft 误删除、输入注入、进程参数泄露等关键缺陷,同时明确文档化了权限互斥行为和 Sent Items 机制,大幅降低了误配置概率。

Outlook Delegate 内容

references文件夹
scripts文件夹
手动下载zip · 22.7 kB
setup.mdtext/markdown
请选择文件