关于 mail
mail 是用于多账户邮箱收发管理的技能,通过 cyeam mail 命令列出、阅读和标记邮件。它要求读取和操作邮件时指定账户,并支持从环境变量读取凭据。
主要功能
- 01列出所有或指定邮箱邮件
- 02读取邮件正文并可标记已读
- 03单封或批量标记已读与未读
- 04配置多个邮箱账户
- 05凭据可从环境变量读取
适用场景
- 01查看多个邮箱的近期邮件
- 02读取邮件并同时标记为已读
- 03批量更新邮件的已读状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mnhkahn/ cyeam-cli --skill mail安装后在 Claude Code 中输入/mail确认已加载。
详细介绍
来自项目 README多邮箱收发
规则
用户要看/读/发/标记邮件 → 跑 cyeam mail 命令 → 返回结果。
- 看邮件:默认用
--all列出所有邮箱,用户指定具体邮箱才用<账户> - 读邮件:必须指定
<账户> <uid>,可加--mark-read同时标记已读 - 发邮件:必须指定
<账户> - 标记已读/未读:必须指定
<账户>和 UID,或用--uids批量
用户: "看看我有什么新邮件" → cyeam mail list --all
用户: "看看我 cyeam 邮箱有什么邮件" → cyeam mail list cyeam
用户: "读一下 UID 123 那封" → cyeam mail read cyeam 123
用户: "读一下 UID 123 并标记已读" → cyeam mail read cyeam 123 --mark-read
用户: "把 UID 123 标记为已读" → cyeam mail mark-read cyeam 123
用户: "把 UID 123,456,789 都标记为已读" → cyeam mail mark-read cyeam --uids 123,456,789
用户: "把 cyeam 邮箱所有邮件一键已读" → cyeam mail mark-all-read cyeam
用户: "把 UID 123 标记为未读" → cyeam mail mark-unread cyeam 123
用户: "给 [email protected] 发封邮件" → cyeam mail send cyeam --to [email protected] --subject "..." --body "..."
读邮件分两步:先 list --all 拿到 UID 和对应账户,再 read <账户> <uid> 读正文。
命令
cyeam mail list --all [--limit 20] 列所有邮箱的最近邮件:账户/UID/发件人/主题/时间/未读
cyeam mail list <账户> [--limit 20] 列指定邮箱的最近邮件
cyeam mail read <账户> <uid> [--mark-read] 读单封:发件人/收件人/主题/日期/正文,可选标记已读
cyeam mail mark-read <账户> <uid> 标记单封为已读
cyeam mail mark-read <账户> --uids <uid1,uid2> 批量标记已读,逗号分隔
cyeam mail mark-all-read <账户> 一键标记 INBOX 全部未读邮件为已读
cyeam mail mark-unread <账户> <uid> 标记单封为未读
cyeam mail mark-unread <账户> --uids <uid1,uid2> 批量标记未读
cyeam mail send <账户> --to <地址> --subject <主题> --body <正文>
[--cc <地址>] [--body-file <文件>] 发送邮件(--to/--cc 可重复)
配置
账户列表写在 ~/.cyeam/mail.json,推荐用户名和密码都从环境变量读取,避免明文写入配置文件:
{
"accounts": [
{
"name": "cyeam",
"imap_host": "imap.zoho.com",
"imap_port": 993,
"username_env": "CYEAM_MAIL_USERNAME",
"password_env": "CYEAM_MAIL_PASS",
"smtp_host": "smtp.zoho.com",
"smtp_port": 465
}
]
}
username_env:用户名所在的环境变量名,运行前需export [email protected]username:用户名明文写在配置中(不推荐),如设置则优先级高于 username_envpassword_env:应用专用密码所在的环境变量名,运行前需export CYEAM_MAIL_PASS=xxxsmtp_host/smtp_port可省略:默认把imap.换成smtp.,端口默认 465- 多账户就在
accounts里多加几项,命令里用name指定
常见邮箱 IMAP/SMTP:
| 邮箱 | IMAP | SMTP |
|---|---|---|
| Zoho | imap.zoho.com | smtp.zoho.com |
| Gmail | imap.gmail.com | smtp.gmail.com |
| iCloud | imap.mail.me.com | smtp.mail.me.com |
前置条件(用户侧)
- 邮箱后台开启 IMAP 访问
- 生成「应用专用密码」(不是登录密码),设到对应环境变量
- 端口 465 用 TLS,587 用 STARTTLS
输出
所有命令输出 JSON 信封,加 --pretty 去掉信封。
不做的事
- 删除、移动邮件
- 附件下载、全文搜索
评论
支持 Markdown