网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Outlook

2026-03-26 新闻来源:网淘吧 围观:67
电脑广告
手机广告

Outlook 技能

通过 Microsoft Graph API 使用 OAuth2 访问 Outlook/Hotmail 电子邮件和日历。

快速设置(自动)

# 需要:Azure CLI, jq
./scripts/outlook-setup.sh

设置脚本将:

  1. 将您登录到 Azure(设备代码流)
  2. 自动创建应用注册
  3. 配置 API 权限(Mail.ReadWrite, Mail.Send, Calendars.ReadWrite)
  4. 指导您完成授权
  5. 将凭据保存到~/.outlook-mcp/

手动设置

请参阅references/setup.md了解通过 Azure 门户进行分步手动配置的说明。

使用

令牌管理

./scripts/outlook-token.sh refresh  # 刷新过期的令牌
./scripts/outlook-token.sh test     # 测试连接
./scripts/outlook-token.sh get      # 打印访问令牌

读取电子邮件

./scripts/outlook-mail.sh inbox [count]           # 列出最新邮件(默认:10封)
./scripts/outlook-mail.sh unread [count]          # 列出未读邮件
./scripts/outlook-mail.sh search "query" [count]  # 搜索邮件
./scripts/outlook-mail.sh from <email> [count]    # 列出指定发件人的邮件
./scripts/outlook-mail.sh read <id>               # 读取邮件内容
./scripts/outlook-mail.sh attachments <id>        # 列出邮件附件

管理邮件

./scripts/outlook-mail.sh mark-read <id>          # 标记为已读
./scripts/outlook-mail.sh mark-unread <id>        # 标记为未读
./scripts/outlook-mail.sh flag <id>               # 标记为重要
./scripts/outlook-mail.sh unflag <id>             # 移除重要标记
./scripts/outlook-mail.sh delete <id>             # 移至回收站
./scripts/outlook-mail.sh archive <id>            # 移至存档
./scripts/outlook-mail.sh move <id> <folder>      # 移至文件夹

发送邮件

./scripts/outlook-mail.sh send <to> <subj> <body> # 发送新邮件
./scripts/outlook-mail.sh reply <id> "body"       # 回复邮件

文件夹与统计

./scripts/outlook-mail.sh folders                 # 列出邮件文件夹
./scripts/outlook-mail.sh stats                   # 收件箱统计信息

日历

查看日程

./scripts/outlook-calendar.sh events [count]      # 列出即将到来的日程
./scripts/outlook-calendar.sh today               # 今日日程
./scripts/outlook-calendar.sh week                # 本周日程
./scripts/outlook-calendar.sh read <id>           # 日程详情
./scripts/outlook-calendar.sh calendars           # 列出所有日历
./scripts/outlook-calendar.sh free <start> <end>  # 检查空闲时间

创建日程

./scripts/outlook-calendar.sh create <subj> <start> <end> [location]  # 创建日程
./scripts/outlook-calendar.sh quick <subject> [time]                  # 快速创建1小时日程

管理日程

./scripts/outlook-calendar.sh update <id> <field> <value>  # 更新日程(主题/地点/开始/结束)
./scripts/outlook-calendar.sh delete <id>                  # 删除日程

日期格式:YYYY-MM-DDTHH:MM(例如:2026-01-26T10:00

示例输出

$ ./scripts/outlook-mail.sh inbox 3

{
  "n": 1,
  "subject": "您的每周摘要",
  "from": "digest@example.com",
  "date": "2026-01-25T15:44",
  "read": false,
  "id": "icYY6QAIUE26PgAAAA=="
}
{
  "n": 2,
  "subject": "会议提醒",
  "from": "calendar@outlook.com",
  "date": "2026-01-25T14:06",
  "read": true,
  "id": "icYY6QAIUE26PQAAAA=="
}

$ ./scripts/outlook-mail.sh read "icYY6QAIUE26PgAAAA=="

{
  "subject": "您的每周摘要",
  "from": { "name": "摘要", "address": "digest@example.com" },
  "to": ["you@hotmail.com"],
  "date": "2026-01-25T15:44:00Z",
  "body": "以下是本周发生的情况..."
}

$ ./scripts/outlook-mail.sh stats

{
  "folder": "收件箱",
  "total": 14098,
  "unread": 2955
}

$ ./scripts/outlook-calendar.sh today

{
  "n": 1,
  "subject": "团队站会",
  "start": "2026-01-25T10:00",
  "end": "2026-01-25T10:30",
  "location": "Teams",
  "id": "AAMkAGQ5NzE4YjQ3..."
}

$ ./scripts/outlook-calendar.sh create "与客户共进午餐" "2026-01-26T13:00" "2026-01-26T14:00" "餐厅"

{
  "status": "事件已创建",
  "subject": "与客户共进午餐",
  "start": "2026-01-26T13:00",
  "end": "2026-01-26T14:00",
  "id": "AAMkAGQ5NzE4YjQ3..."
}

令牌刷新

访问令牌大约1小时后过期。通过以下方式刷新:

./scripts/outlook-token.sh refresh

文件

  • ~/.outlook-mcp/config.json- 客户端ID和密钥
  • ~/.outlook-mcp/credentials.json- OAuth令牌(访问令牌 + 刷新令牌)

权限

  • Mail.ReadWrite- 读取和修改电子邮件
  • Mail.Send- 发送电子邮件
  • Calendars.ReadWrite- 读取和修改日历事件
  • offline_access- 刷新令牌(保持登录状态)
  • User.Read- 基本个人资料信息

备注

  • 电子邮件ID:该ID字段显示完整邮件ID的最后20个字符。可将此ID用于读取标记已读删除等命令。
  • 编号结果:邮件已编号(n:1、2、3...),便于在对话中引用。
  • 文本提取:HTML邮件正文将自动转换为纯文本。
  • 令牌有效期:访问令牌约1小时后失效。若出现验证错误,请运行outlook-token.sh refresh
  • 近期邮件诸如readmark-read等命令会在最近100封邮件中搜索ID。

故障排除

"令牌过期"→ 运行outlook-token.sh refresh

"授权无效"→ 令牌无效,请重新运行设置:outlook-setup.sh

"权限不足"→ 在Azure门户中检查应用权限 → API权限

"未找到邮件"→ 邮件可能超过100封。请先使用搜索功能查找。

"未找到文件夹"→ 使用确切的文件夹名称。运行folders查看可用文件夹。

支持的账户

  • 个人Microsoft账户(outlook.com、hotmail.com、live.com)
  • 工作/学校账户(Microsoft 365)- 可能需要管理员同意

更新日志

v1.3.0

  • 新增:日历支持(outlook-calendar.sh)
    • 查看事件(今日、本周、即将到来)
    • 创建/快速创建事件
    • 更新事件详情(主题、地点、时间)
    • 删除事件
    • 检查可用性(空闲/忙碌)
    • 列出日历
  • 新增:Calendars.ReadWrite权限

v1.2.0

  • 新增:标记为未读- 将邮件标记为未读
  • 新增:标记/取消标记- 将邮件标记为重要或取消重要标记
  • 新增:删除- 将邮件移至垃圾箱
  • 新增:归档- 归档邮件
  • 新增:移动- 将邮件移动至任意文件夹
  • 新增:发件人- 按发件人筛选邮件
  • 新增:附件- 列出邮件附件
  • 新增:回复- 回复邮件
  • 改进:发送- 更好的错误处理和状态输出
  • 改进:移动- 文件夹名称不区分大小写,出错时显示可用文件夹

v1.1.0

  • 修复:邮件ID现在使用唯一后缀(最后20个字符)
  • 新增:编号结果(n: 1, 2, 3...)
  • 改进:HTML正文已转换为纯文本
  • 新增:在读取输出中显示收件人

字段

  • v1.0.0
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Local Whisper 下一篇:Image Ocr

相关文章

您是本站第263015名访客 今日有14篇新文章/评论