Skip to main content

feishu-mail

飞书企业邮箱管理与收发。当用户说"发邮件"、"收邮件"、"查邮件"、"回复邮件"、"send email"、"check email"、"加个邮箱"、"配置邮箱"、"create mailbox"、"setup email"等关键词时触发。

Jump to install

Source facts

Repository
yangwhale/CloseCrab
Last source activity
May 25, 2026 at 13:16
Detected SKILL.md language
Chinese
Stars
3
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
5 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
feishu-mail
description
飞书企业邮箱管理与收发。当用户说"发邮件"、"收邮件"、"查邮件"、"回复邮件"、"send email"、"check email"、"加个邮箱"、"配置邮箱"、"create mailbox"、"setup email"等关键词时触发。
license
MIT
# 飞书企业邮箱(SMTP + IMAP) 每个 bot 有独立企业邮箱,SMTP 发信 + IMAP 收信,无需 OAuth。From 显示名自动取邮箱前缀。邮箱配置存储在 Firestore `bots/{bot_name}` 的 `email` 字段。 ## 触发条件 - "发邮件"、"发 email"、"send email"、"邮件通知" - "查邮件"、"收邮件"、"check email"、"看看邮箱" - "回复邮件"、"reply email" ## 发送邮件 ```bash python3 ~/.claude/skills/feishu-mail/send_mail.py \ --to "收件人@example.com" \ --subject "标题" \ --body "正文内容" ``` **参数:** - `--to`: 收件人(必填,多个逗号分隔) - `--subject`: 标题(必填) - `--body`: 正文(必填) - `--cc`: 抄送(可选) - `--html`: 正文为 HTML 格式 **示例:** ```bash # 纯文本 python3 ~/.claude/skills/feishu-mail/send_mail.py \ --to "user@example.com" --subject "通知" --body "任务完成" # HTML 邮件 python3 ~/.claude/skills/feishu-mail/send_mail.py \ --to "user@example.com" --subject "报告" --html \ --body "<h2>标题</h2><p>详情...</p>" ``` ## 查收邮件 ```bash python3 ~/.claude/skills/feishu-mail/recv_mail.py [选项] ``` **参数:** - `--limit N`: 最多显示 N 封(默认 10) - `--unread`: 只看未读 - `--from "xxx"`: 按发件人过滤 - `--subject "xxx"`: 按主题过滤 - `--json`: JSON 格式输出(适合程序处理) - `--folder "INBOX"`: 文件夹(默认 INBOX) **示例:** ```bash # 查看最近 5 封 python3 ~/.claude/skills/feishu-mail/recv_mail.py --limit 5 # 只看未读 python3 ~/.claude/skills/feishu-mail/recv_mail.py --unread # 按发件人过滤 python3 ~/.claude/skills/feishu-mail/recv_mail.py --from "sender@example.com" # JSON 输出 python3 ~/.claude/skills/feishu-mail/recv_mail.py --json --limit 3 ``` ## 回复邮件 ```bash python3 ~/.claude/skills/feishu-mail/reply_mail.py \ --id "邮件ID" \ --body "回复内容" ``` **参数:** - `--id`: 邮件 ID(从 recv_mail.py 输出获取,必填) - `--body`: 回复正文(必填) - `--html`: 正文为 HTML 格式 - `--folder`: 文件夹(默认 INBOX) **示例:** ```bash # 先查邮件获取 ID python3 ~/.claude/skills/feishu-mail/recv_mail.py --limit 3 # 回复 ID 为 1 的邮件 python3 ~/.claude/skills/feishu-mail/reply_mail.py --id 1 --body "收到,谢谢!" ``` ## 典型工作流 ```bash # 1. 查看未读邮件 python3 ~/.claude/skills/feishu-mail/recv_mail.py --unread --json # 2. 根据内容决定回复 python3 ~/.claude/skills/feishu-mail/reply_mail.py --id 1 --body "已处理" # 3. 主动发新邮件 python3 ~/.claude/skills/feishu-mail/send_mail.py \ --to "someone@example.com" --subject "结果" --body "任务完成" ``` ## 配置 凭据从 Firestore `bots/{bot_name}` 的 `email` 字段读取,`main.py` 启动时自动映射到环境变量: - `FEISHU_SMTP_HOST`: smtp.feishu.cn - `FEISHU_SMTP_PORT`: 465 (SSL) - `FEISHU_SMTP_USER`: bot 企业邮箱地址 - `FEISHU_SMTP_PASS`: SMTP/IMAP 专用密码(飞书管理后台生成) 多 bot 同机时,各 bot 从 Firestore 读取独立邮箱配置,`main.py` 启动时自动设置环境变量。 IMAP 使用相同凭据,服务器 `imap.feishu.cn:993` (SSL)。 ## 邮箱管理(创建/删除公共邮箱) 通过 `setup_mailbox.py` 管理飞书公共邮箱,完整流程:创建邮箱 → 管理后台开启 SMTP → 配置密码到 Firestore。 ### 创建公共邮箱 ```bash python3 ~/.claude/skills/feishu-mail/setup_mailbox.py create \ --email "bot@your-domain.com" \ --name "Bot Name" ``` 创建成功后,需要手动去飞书管理后台开启 SMTP: 1. 打开 https://your-org.feishu.cn/admin/email/public_mailbox 2. 找到新建的邮箱 → 开启 IMAP/SMTP → 生成应用密码 ### 配置 SMTP 密码到 Firestore ```bash # 默认写入 FIRESTORE_DATABASE (closecrab) python3 ~/.claude/skills/feishu-mail/setup_mailbox.py set-password \ --bot athena \ --password "YOUR_APP_PASSWORD" # 指定数据库(如 closecrab-public) python3 ~/.claude/skills/feishu-mail/setup_mailbox.py set-password \ --bot athena \ --password "YOUR_APP_PASSWORD" \ --database closecrab-public # 如果 bot 还没有 email 配置,用 --email 初始化完整配置 python3 ~/.claude/skills/feishu-mail/setup_mailbox.py set-password \ --bot newbot \ --password "xxx" \ --email "newbot@your-domain.com" ``` ### 列出所有公共邮箱 ```bash python3 ~/.claude/skills/feishu-mail/setup_mailbox.py list ``` ### 删除公共邮箱 ```bash python3 ~/.claude/skills/feishu-mail/setup_mailbox.py delete --mailbox-id "1RNM10VNQREQPKK" ``` ### 环境变量 - `MAIL_ADMIN_BOT`: 用于调飞书 API 的 bot(需有 `mail:public_mailbox` 权限,默认 `jarvis`) - `FIRESTORE_PROJECT`: GCP 项目(默认 `your-gcp-project`) - `FIRESTORE_DATABASE`: Firestore 数据库(默认 `closecrab`) ## 限制 - 发信频率: 200 封/100 秒 - 单日上限: 100 封/发件人
View on GitHub