feishu-cli-mail
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese飞书邮箱(Mail)
飞书邮箱(Mail)
查看、发送、回复、转发邮件,管理草稿,过滤收件箱。
首期限制:仅支持纯文本/HTML body,暂不支持附件和 CID 内联图片。send / draft-create / draft-edit / reply / reply-all / forward
查看、发送、回复、转发邮件,管理草稿,过滤收件箱。
首期限制:仅支持纯文本/HTML body,暂不支持附件和 CID 内联图片。send / draft-create / draft-edit / reply / reply-all / forward
前置条件
前置条件
- 认证:所有 mail 命令都需要 User Access Token(执行 登录)
feishu-cli auth login - 预检:可验证 scope
feishu-cli auth check --scope "mail:user_mailbox:readonly"
- 认证:所有 mail 命令都需要 User Access Token(执行 登录)
feishu-cli auth login - 预检:可验证 scope
feishu-cli auth check --scope "mail:user_mailbox:readonly"
命令速查
命令速查
查询类命令(只读)
查询类命令(只读)
| 命令 | 用途 |
|---|---|
| 获取单封邮件(含 HTML 或纯文本 body) |
| 批量获取多封邮件 |
| 获取邮件线程(对话) |
| 列出/过滤邮件(folder/label/query/unread-only) |
bash
undefined| 命令 | 用途 |
|---|---|
| 获取单封邮件(含 HTML 或纯文本 body) |
| 批量获取多封邮件 |
| 获取邮件线程(对话) |
| 列出/过滤邮件(folder/label/query/unread-only) |
bash
undefined查未读收件箱
查未读收件箱
feishu-cli mail triage --folder INBOX --unread-only --page-size 20
feishu-cli mail triage --folder INBOX --unread-only --page-size 20
列出可用文件夹和标签
列出可用文件夹和标签
feishu-cli mail triage --list-folders
feishu-cli mail triage --list-labels
feishu-cli mail triage --list-folders
feishu-cli mail triage --list-labels
搜索邮件
搜索邮件
feishu-cli mail triage --query "周会"
feishu-cli mail triage --query "周会"
获取单封
获取单封
feishu-cli mail message --message-id msg_xxx
feishu-cli mail message --message-id msg_xxx --format plain_text_full
feishu-cli mail message --message-id msg_xxx
feishu-cli mail message --message-id msg_xxx --format plain_text_full
批量获取
批量获取
feishu-cli mail messages --message-ids m1,m2,m3
feishu-cli mail messages --message-ids m1,m2,m3
获取线程
获取线程
feishu-cli mail thread --thread-id thread_xxx
undefinedfeishu-cli mail thread --thread-id thread_xxx
undefined写入类命令
写入类命令
| 命令 | 用途 |
|---|---|
| 发送邮件(默认草稿,加 |
| 创建草稿(不发送) |
| 编辑已有草稿(全量覆盖) |
| 回复邮件(自动 Re: 前缀 + 引用块 + In-Reply-To) |
| 全部回复(包含原邮件 To 和 CC 的所有人,自动排除自己) |
| 转发邮件(自动 Fwd: 前缀 + 原文) |
bash
undefined| 命令 | 用途 |
|---|---|
| 发送邮件(默认草稿,加 |
| 创建草稿(不发送) |
| 编辑已有草稿(全量覆盖) |
| 回复邮件(自动 Re: 前缀 + 引用块 + In-Reply-To) |
| 全部回复(包含原邮件 To 和 CC 的所有人,自动排除自己) |
| 转发邮件(自动 Fwd: 前缀 + 原文) |
bash
undefined发邮件(默认保存为草稿,安全兜底)
发邮件(默认保存为草稿,安全兜底)
feishu-cli mail send --to user@example.com --subject "测试" --body "hi"
feishu-cli mail send --to user@example.com --subject "测试" --body "hi"
直接发送
直接发送
feishu-cli mail send --to user@example.com --subject "测试" --body "hi" --confirm-send
feishu-cli mail send --to user@example.com --subject "测试" --body "hi" --confirm-send
多人、抄送、HTML
多人、抄送、HTML
feishu-cli mail send --to a@x.com,b@x.com --cc c@x.com
--subject "会议纪要" --body "<h2>议程</h2><p>1. ...</p>" --html --confirm-send
--subject "会议纪要" --body "<h2>议程</h2><p>1. ...</p>" --html --confirm-send
feishu-cli mail send --to a@x.com,b@x.com --cc c@x.com
--subject "会议纪要" --body "<h2>议程</h2><p>1. ...</p>" --html --confirm-send
--subject "会议纪要" --body "<h2>议程</h2><p>1. ...</p>" --html --confirm-send
创建草稿
创建草稿
feishu-cli mail draft-create --to user@example.com --subject "草稿" --body "初稿"
feishu-cli mail draft-create --to user@example.com --subject "草稿" --body "初稿"
编辑草稿
编辑草稿
feishu-cli mail draft-edit --draft-id xxx --to user@example.com --subject "修订" --body "新内容"
feishu-cli mail draft-edit --draft-id xxx --to user@example.com --subject "修订" --body "新内容"
回复
回复
feishu-cli mail reply --message-id msg_xxx --body "收到,周三开会"
feishu-cli mail reply --message-id msg_xxx --body "同意" --confirm-send
feishu-cli mail reply --message-id msg_xxx --body "收到,周三开会"
feishu-cli mail reply --message-id msg_xxx --body "同意" --confirm-send
全部回复
全部回复
feishu-cli mail reply-all --message-id msg_xxx --body "+1"
feishu-cli mail reply-all --message-id msg_xxx --body "+1"
转发
转发
feishu-cli mail forward --message-id msg_xxx --to new@example.com --body "请关注此邮件"
undefinedfeishu-cli mail forward --message-id msg_xxx --to new@example.com --body "请关注此邮件"
undefined典型工作流
典型工作流
处理未读邮件
处理未读邮件
bash
undefinedbash
undefined1. 查未读
1. 查未读
feishu-cli mail triage --folder INBOX --unread-only -o json > unread.json
feishu-cli mail triage --folder INBOX --unread-only -o json > unread.json
2. 逐封处理(拿 message_id → 看内容 → 回复)
2. 逐封处理(拿 message_id → 看内容 → 回复)
feishu-cli mail message --message-id <id> -o json
feishu-cli mail reply --message-id <id> --body "已阅" --confirm-send
undefinedfeishu-cli mail message --message-id <id> -o json
feishu-cli mail reply --message-id <id> --body "已阅" --confirm-send
undefined发送 HTML 邮件
发送 HTML 邮件
bash
feishu-cli mail send \
--to team@example.com \
--subject "周报" \
--body "$(cat weekly-report.html)" \
--html \
--confirm-sendbash
feishu-cli mail send \
--to team@example.com \
--subject "周报" \
--body "$(cat weekly-report.html)" \
--html \
--confirm-send草稿审阅工作流
草稿审阅工作流
bash
undefinedbash
undefined1. 创建草稿
1. 创建草稿
DRAFT_ID=$(feishu-cli mail draft-create --to user@example.com --subject "合同" --body "初稿" -o json | jq -r .draft_id)
DRAFT_ID=$(feishu-cli mail draft-create --to user@example.com --subject "合同" --body "初稿" -o json | jq -r .draft_id)
2. 审阅后修改
2. 审阅后修改
feishu-cli mail draft-edit --draft-id $DRAFT_ID --to user@example.com --subject "合同 v2" --body "修订后内容"
feishu-cli mail draft-edit --draft-id $DRAFT_ID --to user@example.com --subject "合同 v2" --body "修订后内容"
3. 通过 mail send 重建为真发送(draft-edit 只更新不发送)
3. 通过 mail send 重建为真发送(draft-edit 只更新不发送)
或在飞书 Web 上手动发送
或在飞书 Web 上手动发送
undefinedundefined权限要求
权限要求
| 命令 | 必需 scope |
|---|---|
| |
| 上述只读权限 + |
| 命令 | 必需 scope |
|---|---|
| |
| 上述只读权限 + |
注意事项
注意事项
- 默认草稿:默认只保存草稿(安全兜底)。必须显式加
mail send才会真正发送邮件。--confirm-send - HTML 自动检测:如果 含以下任一标签自动按 HTML 发送:
--body/<html>/<body>/<div>/<p>/<br>/<b>/<i>/<a/<table>/<h1>/<h2>。可用<h3>或--plain-text强制指定。--html - 引用块:会自动把原邮件 body 作为
reply/reply-all引用块附加到回复正文后。> - 发件人识别:不传 时,从 mailbox profile(
--from)自动读取GET /profile和primary_email_address。name - EML 格式:所有发送命令底层都构造 RFC 5322 格式 EML,经过 base64 URL-safe 编码后提交给 API。
/drafts - Mailbox 定位:默认
--mailbox(当前登录用户),也可以传具体邮箱地址(前提是当前 Token 有权限)。me - subject 去重:自动避免
reply重复;Re: Re:自动避免forward重复。Fwd: Fwd: - In-Reply-To / References:自动从原邮件的
reply/reply-all/smtp_message_id继承,确保邮件客户端正确展示对话线程。references - 附件 / CID 图片暂不支持:首期 EML builder 是简化版。如需附件,请在 feishu Web 手动处理或等后续迭代。
- 批量 messages 上限:取决于飞书 API 端;本命令不做数量校验,但通常建议 ≤50 条。
- 默认草稿:默认只保存草稿(安全兜底)。必须显式加
mail send才会真正发送邮件。--confirm-send - HTML 自动检测:如果 含以下任一标签自动按 HTML 发送:
--body/<html>/<body>/<div>/<p>/<br>/<b>/<i>/<a/<table>/<h1>/<h2>。可用<h3>或--plain-text强制指定。--html - 引用块:会自动把原邮件 body 作为
reply/reply-all引用块附加到回复正文后。> - 发件人识别:不传 时,从 mailbox profile(
--from)自动读取GET /profile和primary_email_address。name - EML 格式:所有发送命令底层都构造 RFC 5322 格式 EML,经过 base64 URL-safe 编码后提交给 API。
/drafts - Mailbox 定位:默认
--mailbox(当前登录用户),也可以传具体邮箱地址(前提是当前 Token 有权限)。me - subject 去重:自动避免
reply重复;Re: Re:自动避免forward重复。Fwd: Fwd: - In-Reply-To / References:自动从原邮件的
reply/reply-all/smtp_message_id继承,确保邮件客户端正确展示对话线程。references - 附件 / CID 图片暂不支持:首期 EML builder 是简化版。如需附件,请在 feishu Web 手动处理或等后续迭代。
- 批量 messages 上限:取决于飞书 API 端;本命令不做数量校验,但通常建议 ≤50 条。