Outlook Pywin32

***

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Outlook Pywin32" with this command: npx skills add jonathanhuangfirst/outlook-pywin32


name: outlook-pywin32 description: "通过pywin32本地操作Outlook的命令行工具。支持邮件管理、日历管理、账户管理和文件夹管理等功能。使用命令: outlook-pywin32.py <方法名> --参数 值"

Outlook PyWin32 命令行工具

版本更新

v0.8

新增功能:

  • 重构代码结构,将功能模块拆分为独立文件
  • 添加 folder-list 方法,支持列出所有默认文件夹
  • 优化代码组织,提高可维护性

v0.7

新增功能:

  • 添加 calendar-edit 方法,支持修改日程安排事件
  • 支持通过主题或开始时间搜索日程
  • 支持修改日程的各种属性(主题、时间、地点、参与人等)
  • 修改后仅保存,不发送通知

修复的bug:

  • 修复了 calendar-listcalendar-edit 方法中当指定账户不存在时的错误
  • 优化了时间匹配逻辑,提高搜索可靠性

前提条件

基于pywin32的Outlook本地自动化工具,无需OAuth,直接操作本地Outlook。

无论使用哪种安装方法,都需要满足以下条件:

  • Windows系统
  • 已安装Outlook客户端
  • Python 3.7+
  • pywin32 库

安装

方法一:通过 ClawHub 安装(推荐)

clawhub install outlook-pywin32

方法二:手动安装

克隆或下载此项目

安装依赖

pip install pywin32

用法

python scripts/outlook-pywin32.py <方法名> --参数 值 --参数2 值2

可用方法

邮件相关

方法说明参数
mail-folders检查并列出邮件文件夹--account
mail-new创建邮件并保存到草稿箱--to, --subject, --body, --cc, --bcc
mail-list列出邮件--folder, --limit, --account
mail-read读取邮件--folder, --index, --account
mail-search搜索邮件--query, --limit, --account, --start-time, --end-time
account-list列出所有可用的Outlook账户

文件夹相关

方法说明参数
folder-list列出所有默认文件夹--account

日历相关

方法说明参数
calendar-list列出即将举行的日程安排事件--limit, --days, --include-today, --account
calendar-new创建一个日程安排事件--subject, --start, --end, --location, --body, --required-attendees, --optional-attendees, --all-day, --reminder, --account
calendar-edit修改一个日程安排事件(仅保存,不发送通知)--subject, --start, --new-subject, --new-start, --new-end, --location, --body, --required-attendees, --optional-attendees, --all-day, --reminder, --account

参数说明

通用参数

  • --account: 邮箱账户地址(可选)
    • 优先级:1. 传入参数 2. 环境变量 OUTLOOK_ACCOUNT 3. config.json 文件

邮件相关参数

mail-search 特有参数

  • --query: 搜索关键词(可选)
  • --start-time: 起始时间(可选,如 2024-01-01 或 2024-01-01 09:00:00)
    • 只指定日期时,默认设置为 00:00:00
  • --end-time: 结束时间(可选,如 2024-12-31 或 2024-12-31 18:00:00)
    • 只指定日期时,默认设置为 23:59:59

日历相关参数

calendar-list 特有参数

  • --limit: 返回数量(默认10)
  • --days: 查看未来几天的事件(默认7)
  • --include-today: 是否包含今天的事件(true/false,默认true)

calendar-new 特有参数

  • --subject: 日程主题(必需)
  • --start: 开始时间(格式: YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD)
  • --end: 结束时间(可选,默认开始时间+30分钟)
  • --location: 地点(可选)
  • --body: 备注(可选)
  • --required-attendees: 必需参与人(多个用分号分隔)
  • --optional-attendees: 可选参与人(多个用分号分隔)
  • --all-day: 是否全天事件(true/false,默认false)
  • --reminder: 提醒提前分钟数(默认15, 0表示不提醒)

配置文件

在 scripts 目录下创建 config.json 文件,可配置默认邮箱账户:

{
  "outlook_account": "xx@cuhk.edu.cn"
}

环境变量

  • OUTLOOK_ACCOUNT: 默认邮箱账户地址

示例

邮件相关示例

# 列出可用的Outlook账户
python scripts/outlook-pywin32.py account-list

# 检查邮件文件夹
python scripts/outlook-pywin32.py mail-folders

# 创建邮件
python scripts/outlook-pywin32.py mail-new --to user@example.com --subject "测试" --body "你好"

# 列出收件箱前10封邮件
python scripts/outlook-pywin32.py mail-list --folder inbox --limit 10

# 列出指定账户的邮件
python scripts/outlook-pywin32.py mail-list --account xx@cuhk.edu.cn

# 读取第1封邮件
python scripts/outlook-pywin32.py mail-read --folder inbox --index 1

# 只按关键词搜索邮件
python scripts/outlook-pywin32.py mail-search --query "发票"

# 只按时间范围搜索邮件
python scripts/outlook-pywin32.py mail-search --start-time 2024-01-01 --end-time 2024-12-31

# 同时使用关键词和时间范围搜索
python scripts/outlook-pywin32.py mail-search --query "会议" --start-time 2024-01-01 --end-time 2024-12-31

# 使用config.json中的账户搜索
python scripts/outlook-pywin32.py mail-search --query "会议"

日历相关示例

# 列出未来7天的日程(包含今天)
python scripts/outlook-pywin32.py calendar-list

# 列出未来3天的日程(不包含今天)
python scripts/outlook-pywin32.py calendar-list --days 3 --include-today false

# 创建一个简单的日程
python scripts/outlook-pywin32.py calendar-new --subject "团队会议" --start "2026-03-13 14:00:00"

# 创建一个带有地点和参与人的日程
python scripts/outlook-pywin32.py calendar-new \
  --subject "项目评审" \
  --start "2026-03-14 10:00:00" \
  --end "2026-03-14 11:30:00" \
  --location "会议室A" \
  --required-attendees "zhangsan@example.com;lisi@example.com" \
  --optional-attendees "wangwu@example.com" \
  --body "讨论项目进展"

# 创建一个全天事件
python scripts/outlook-pywin32.py calendar-new --subject "公司年会" --start "2026-03-15" --all-day true --reminder 0

文件夹相关示例

# 列出所有默认文件夹
python scripts/outlook-pywin32.py folder-list

# 列出指定账户的默认文件夹
python scripts/outlook-pywin32.py folder-list --account xx@cuhk.edu.cn

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Cclaw

Open-source comedy AI + video editing + poster generation. Create standup/sketch/manzai/scripts, edit videos via FFmpeg, and generate comedy posters via canv...

Registry SourceRecently Updated
General

Dlazy Seedance 1.5 Pro

Convert images into dynamic dance videos using Doubao Seedance 1.5 Pro.

Registry SourceRecently Updated
General

Pod Template Pack

Use when user needs ready-to-use POD (Print on Demand) design keywords, title templates, and listing copy. Use when creating POD product listings for TikTok,...

Registry SourceRecently Updated
General

Dlazy Mj.Imagine

Generate artistic images using Midjourney (MJ) model. Supports text-to-image.

Registry SourceRecently Updated