微软 Outlook 邮箱和日历管理工具(支持世纪互联版 Office 365)。用于查看、发送、搜索邮件,管理日历日程,创建会议,查询忙闲状态。注意:此功能仅支持世纪互联(21Vianet)版 Microsoft 365,使用 login.chinacloudapi.cn。
Microsoft Outlook(日历 + 邮件)是一项面向实际任务的技能,主要用于微软世纪互联版 Outlook(日历 + 邮件)管理工具,通过 Microsoft Graph API 实现;读取收件箱、搜索邮件、按发件人筛选;
创建日程/会议、查询忙闲状态;详见 refer。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
微软世纪互联版 Outlook(日历 + 邮件)管理工具,通过 Microsoft Graph API 实现。
| 功能 | 操作 |
|---|---|
| 邮件读取 | 读取收件箱、搜索邮件、按发件人筛选 |
| 邮件管理 | 标记已读/未读、删除、归档、移动 |
| 邮件发送 | 发送新邮件、回复邮件 |
| 日历查看 | 查看今日/本周日程、获取事件详情 |
| 日历创建 | 创建日程/会议、查询忙闲状态 |
详见 references/setup.md,需要:
# 必填 OUTLOOK_CLIENT_ID="your-azure-app-client-id" OUTLOOK_TENANT_ID="your-tenant-id" # 自动从 Client ID 推断,可选 OUTLOOK_CLIENT_SECRET="your-client-secret"
所有脚本均接受 JSON 参数,通过 stdin 传入:
# 读取收件箱(最新 N 封)
python3 skills/outlook-microsoft/scripts/outlook_mail.py inbox '{"count": 10}'
# 搜索邮件
python3 skills/outlook-microsoft/scripts/outlook_mail.py search '{"query": "关键词"}'
# 按发件人筛选
python3 skills/outlook-microsoft/scripts/outlook_mail.py from '{"sender": "xxx@company.com", "count": 10}'
# 读取单封邮件详情
python3 skills/outlook-microsoft/scripts/outlook_mail.py read '{"message_id": "邮件ID"}'
# 标记已读/未读
python3 skills/outlook-microsoft/scripts/outlook_mail.py mark-read '{"message_id": "邮件ID"}'
python3 skills/outlook-microsoft/scripts/outlook_mail.py mark-unread '{"message_id": "邮件ID"}'
# 发送邮件
python3 skills/outlook-microsoft/scripts/outlook_mail.py send '{"to": "收件人", "subject": "标题", "body": "正文"}'
# 回复邮件
python3 skills/outlook-microsoft/scripts/outlook_mail.py reply '{"message_id": "邮件ID", "body": "回复内容"}'
# 删除邮件
python3 skills/outlook-microsoft/scripts/outlook_mail.py delete '{"message_id": "邮件ID"}'
# 获取附件列表
python3 skills/outlook-microsoft/scripts/outlook_mail.py attachments '{"message_id": "邮件ID"}'
# 查看今日日程
python3 skills/outlook-microsoft/scripts/outlook_calendar.py today
# 查看本周日程
python3 skills/outlook-microsoft/scripts/outlook_calendar.py week
# 查看指定日程详情
python3 skills/outlook-microsoft/scripts/outlook_calendar.py read '{"event_id": "事件ID"}'
# 创建日程(单次)
python3 skills/outlook-microsoft/scripts/outlook_calendar.py create '{
"subject": "会议标题",
"start": "2026-04-03T10:00:00",
"end": "2026-04-03T11:00:00",
"location": "会议室",
"body": "会议描述"
}'
# 快速创建(1小时日程)
python3 skills/outlook-microsoft/scripts/outlook_calendar.py quick '{"subject": "快速会议", "start": "2026-04-03T14:00"}'
# 删除日程
python3 skills/outlook-microsoft/scripts/outlook_calendar.py delete '{"event_id": "事件ID"}'
# 查询忙闲
python3 skills/outlook-microsoft/scripts/outlook_calendar.py freebusy '{"start": "2026-04-03T09:00", "end": "2026-04-03T18:00"}'
# 查看所有日历
python3 skills/outlook-microsoft/scripts/outlook_calendar.py calendars
# 首次使用:获取设备码并完成授权 python3 skills/outlook-microsoft/scripts/outlook_auth.py authorize # 测试连接是否正常 python3 skills/outlook-microsoft/scripts/outlook_auth.py test # 查看当前 Token 状态 python3 skills/outlook-microsoft/scripts/outlook_auth.py status # 手动刷新 Token python3 skills/outlook-microsoft/scripts/outlook_auth.py refresh
YYYY-MM-DDTHH:MM:SS2026-04-03T10:00:00 表示 2026年4月3日上午10:00常见错误码:
AUTH_001:未授权,需要先运行 authorize 完成 OAuth 授权AUTH_002:Token 过期,运行 refresh 刷新AUTH_003:权限不足,检查 Azure App 的 API 权限配置API_001:网络错误,检查网络连接API_002:Graph API 调用失败,检查 Client ID / Tenant ID 配置~/.outlook-microsoft/config.json - Client ID、Secret、Tenant IDcredentials.json - OAuth Token(自动管理)