Install
openclaw skills install outlook-microsoft微软 Outlook 邮箱和日历管理工具(支持世纪互联版 Office 365)。当用户要求查看邮件、发送邮件、搜索邮件、管理日历日程、创建会议、查询忙闲状态时使用。注意:此 Skill 仅支持世纪互联(21Vianet)版本的 Microsoft 365,使用 login.chinacloudapi.cn / microsoftgraph.chinacloudapi.cn 端点。
openclaw skills install outlook-microsoft微软世纪互联版 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(自动管理)