用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/alter123-zz/RaccoonClaw --skill email-skill命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | email-skill |
| description | 统一邮件入口:支持平台公邮服务与个人邮箱(IMAP/SMTP)双通道,用户可按需求自主选择。所有与发信相关的需求,都先经由该SKILL处理路由 |
本 Skill 是统一邮件入口:
- 支持 平台公邮服务(platform)
- 支持 个人邮箱 IMAP/SMTP(personal)
- 两种方式可并存,由用户根据场景自主选择
email-skill 作为统一编排层:
platform 或 personalimap-smtp-emailplatform(平台公邮服务)定位:平台公邮是一个消息推送通道,专门用于将内容推送到用户自己的邮箱。它不是一个通用的邮件发送工具。
特点:
能力:
不支持:
content_type 必须为 text)💡 简单判断:如果用户的需求是"把某些内容发到我自己的邮箱",公邮适合;如果需求涉及"发给别人",则不适合,应使用
personal。
personal(个人邮箱 IMAP/SMTP)特点:
.env 配置 IMAP/SMTP 授权码)能力:
⚠️ 本节内容供 Agent 理解和引导用户,不是一个可执行的命令。
Agent 应根据用户的实际需求,通过对话理解意图后,引导用户选择合适的 provider。在用户选择使用公邮之前,Agent 必须向用户清晰说明公邮的能力边界,由用户自行判断是否适合,再决定是否使用。
使用公邮前,Agent 应向用户传达以下关键信息:
能力对比:
| 维度 | platform(公邮) | personal(个人邮箱) |
|---|---|---|
| 配置成本 | 零配置,开箱即用 | 需配置 IMAP/SMTP 凭据 |
| 收件人范围 | 仅限用户自己的邮箱 | 任意收件人 |
| 典型用途 | 消息推送(天气/报告/提醒→自己) | 邮件沟通(发给同事/客户/任何人) |
| 发件身份 | 平台统一发件人 | 用户个人邮箱地址 |
| 收件能力 | ❌ 不支持 | ✅ 支持 |
| 附件发送 | ❌ 不支持 | ✅ 支持 |
| 抄送/密送 | ❌ 不支持 | ✅ 支持 |
| 附件下载 | ❌ 不支持 | ✅ 支持 |
用户意图信号 → 推荐 provider:
platform(典型消息推送场景)platformpersonal(公邮无法发给他人)personalpersonalplatform,但必须先告知仅能发给自己,由用户确认personalpersonalpersonal(公邮仅支持纯文本)📌 Agent 行为准则:当用户的发信需求可能适合公邮时,Agent 不应直接替用户做决定,而应先说明"公邮仅支持给您自己的邮箱发信,主要用于消息推送",让用户确认后再执行。
macOS / Linux:scripts/unix/email_gateway.sh
Windows:scripts\windows\email_gateway.cmd
macOS / Linux:
bash scripts/unix/email_gateway.sh capabilities
Windows CMD:
scripts\windows\email_gateway.cmd capabilities
macOS / Linux:
bash scripts/unix/email_gateway.sh send \
--provider platform \
--email "user@example.com" \
--subject "日报" \
--body "今日汇总:项目A完成80%,项目B已提测。" \
--content_type "text"
Windows CMD:
scripts\windows\email_gateway.cmd send --provider platform --email "user@example.com" --subject "日报" --body "今日汇总:项目A完成80%,项目B已提测。" --content_type "text"
macOS / Linux:
bash scripts/unix/email_gateway.sh send \
--provider personal \
--to "user@example.com" \
--subject "日报" \
--body "今日汇总"
Windows CMD:
scripts\windows\email_gateway.cmd send --provider personal --to "user@example.com" --subject "日报" --body "今日汇总"
⚠️ 流程约束:Agent 使用公邮发信前,必须先执行
bind-check检查绑定状态。若返回结果表明邮箱已绑定,则直接执行发信,无需再走验证码流程。仅当邮箱未绑定时,才需要执行步骤 2(发送验证码)和步骤 3(验证绑定)。
macOS / Linux:
# 1) 检查绑定(必须先执行)
bash scripts/unix/email_gateway.sh bind-check --email "user@example.com"
# → 若已绑定:直接跳到 4.2 发送邮件,无需步骤 2、3
# → 若未绑定:继续执行步骤 2、3
# 2) 发送验证码(仅未绑定时执行,用户需登录该邮箱查看验证码)
bash scripts/unix/email_gateway.sh bind-send-code --email "user@example.com"
# 3) 验证绑定(仅未绑定时执行)
bash scripts/unix/email_gateway.sh bind-verify --email "user@example.com" --code "123456"
Windows CMD:
REM 1) 检查绑定(必须先执行)
scripts\windows\email_gateway.cmd bind-check --email "user@example.com"
REM → 若已绑定:直接跳到 4.2 发送邮件,无需步骤 2、3
REM → 若未绑定:继续执行步骤 2、3
REM 2) 发送验证码(仅未绑定时执行,用户需登录该邮箱查看验证码)
scripts\windows\email_gateway.cmd bind-send-code --email "user@example.com"
REM 3) 验证绑定(仅未绑定时执行)
scripts\windows\email_gateway.cmd bind-verify --email "user@example.com" --code "123456"
macOS / Linux:
# 检查邮件
bash scripts/unix/email_gateway.sh inbox-check --provider personal --limit 10 --recent 2h
# 搜索邮件
bash scripts/unix/email_gateway.sh inbox-search --provider personal --subject "发票" --unseen
# 拉取邮件详情
bash scripts/unix/email_gateway.sh inbox-fetch --provider personal 12345
# 下载附件
bash scripts/unix/email_gateway.sh inbox-download --provider personal 12345 --dir ~/Downloads
Windows CMD:
REM 检查邮件
scripts\windows\email_gateway.cmd inbox-check --provider personal --limit 10 --recent 2h
REM 搜索邮件
scripts\windows\email_gateway.cmd inbox-search --provider personal --subject "发票" --unseen
REM 拉取邮件详情
scripts\windows\email_gateway.cmd inbox-fetch --provider personal 12345
REM 下载附件
scripts\windows\email_gateway.cmd inbox-download --provider personal 12345 --dir %USERPROFILE%\Downloads
bind-check 检查绑定状态:已绑定可直接发信,未绑定时按绑定流程完成邮箱绑定(用户必须能登录目标邮箱以接收验证码)imap-smtp-email 目录npm installmacOS / Linux:
bash scripts/unix/email_gateway.sh setup-personal
Windows CMD:
scripts\windows\email_gateway.cmd setup-personal
该向导会生成 imap-smtp-email/.env,包含 IMAP/SMTP 主机、账号、授权码等配置。
email-skill/
├── SKILL.md
└── scripts/
├── unix/ # macOS / Linux 脚本
│ ├── email_gateway.sh # 统一入口
│ ├── common.sh # 公共函数库
│ ├── check_bind.sh # platform: 检查绑定
│ ├── send_code.sh # platform: 发送验证码
│ ├── verify_bind.sh # platform: 校验绑定
│ └── send_email.sh # platform: 发送邮件
└── windows/ # Windows CMD 脚本
├── email_gateway.cmd # 统一入口
├── common.cmd # 公共函数库
├── check_bind.cmd # platform: 检查绑定
├── send_code.cmd # platform: 发送验证码
├── verify_bind.cmd # platform: 校验绑定
└── send_email.cmd # platform: 发送邮件
imap-smtp-email/
├── SKILL.md
├── setup.sh
└── scripts/
├── imap.js # personal: 收件/检索/附件
└── smtp.js # personal: 发件
imap-smtp-email 的既有行为,只做路由与编排provider=personal 需要本机可用 node,并完成 .env 配置provider=platform 发送前必须先执行 bind-check 确认绑定状态:已绑定则直接发信,未绑定才需要执行发送验证码(bind-send-code)并绑定(bind-verify)的流程node 和 curl(Windows 10+ 自带 curl)jq,不可用时 fallback 到 node⚠️ 提前完成邮箱绑定:若用户需要设置定时发信任务(如每日定时推送天气、周报汇总等)并使用
platform公邮进行推送,Agent 必须在创建定时任务之前引导用户完成邮箱验证与绑定流程(bind-check → bind-send-code → bind-verify)。因为定时任务执行时用户不在场,无法实时完成验证码交互,若邮箱未提前绑定,定时任务将无法正常发信。
⚠️ 公邮发信余量不足自动切换:使用
platform公邮发信时(包括发送验证码和正式邮件),若接口返回 "公共域名已达日发送上限" 或其他表示发信余量不足的错误,说明当日平台公邮额度已耗尽。此时 Agent 应自动切换至personal(个人邮箱 SMTP)模式帮助用户继续完成发信,无需用户手动干预。切换前应向用户简要说明原因(如"公邮今日额度已用完,已自动切换到个人邮箱为您发送")。若personal模式尚未配置,Agent 应引导用户完成setup-personal配置后再发送。
⚠️ 优先使用 UTF-8 编码:公邮发送邮件时(使用
platform),邮件主题和正文内容应优先使用 UTF-8 编码。