Outlook
2026-03-26
新闻来源:网淘吧
围观:66
电脑广告
手机广告
Outlook 技能
通过 Microsoft Graph API 使用 OAuth2 访问 Outlook/Hotmail 电子邮件和日历。
快速设置(自动)
# 需要:Azure CLI, jq
./scripts/outlook-setup.sh
设置脚本将:
- 将您登录到 Azure(设备代码流)
- 自动创建应用注册
- 配置 API 权限(Mail.ReadWrite, Mail.Send, Calendars.ReadWrite)
- 指导您完成授权
- 将凭据保存到
~/.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。 - 近期邮件诸如
read、mark-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


微信扫一扫,打赏作者吧~