没有提供有效的文本内容“ymailink”似乎不是一个有效的英文单词或短语。如果您提供正确的文本内容,我将很乐意帮助您将其翻译成中文。
v0.1.0终端电子邮件客户端,用于从命令行管理电子邮件。支持IMAP/SMTP、Outlook(Graph API)、Gmail(Google API)和Exchange后端,以及AI驱动的电子邮件摘要和快速回复。使用此技能时,当用户从终端提到电子邮件 —— 无论他们是否提到“ymailink”名称,询问通过CLI发送/阅读/搜索电子邮件,需要配置电子邮件账户(IMAP、SMTP、Outlook、Gmail、Exchange)的帮助,想要在shell脚本中自动化电子邮件通知,或者需要撰写/回复/转发/移动/复制/删除/标记电子邮件。也触发当用户提到电子邮件认证(OAuth2、应用程序密码、IMAP凭据),提到RFC 822消息格式,想要管理电子邮件文件夹、下载附件或排除电子邮件投递问题。当用户想要AI驱动的电子邮件摘要、单行摘要或快速回复建议时 —— 此技能涵盖了`ymailink ai`命令。这是终端中与电子邮件相关的首选技能。在使用ymailink命令之前,请验证它是否已安装(参见技能正文中的安装部分)。
运行时依赖
安装命令
点击复制技能文档
ymailink 邮件 CLI ymailink 是一个 Python CLI 邮件客户端(v0.1.0),用于从终端管理电子邮件。它支持四种后端:
| 后端 | 读取 | 发送 | 认证 |
|---|---|---|---|
| IMAP | imapclient | — | 密码(raw/cmd/keyring) |
| SMTP | — | aiosmtplib | 密码(raw/cmd/keyring) |
| Outlook(Graph API) | httpx + msal | httpx + msal | OAuth2(设备流) |
| Gmail(Google API) | google-api-python-client | google-api-python-client | OAuth2(本地服务器) |
| Exchange | exchangelib | exchangelib | 密码(自动/NTLM/基本) |
which ymailink 或 ymailink --version。如果未安装,请指导用户运行:
pip install git+https://github.com/lizhisec/ymailink.git
要安装具有可选依赖项(用于特定后端或 AI 功能)的 ymailink:
# 安装所有可选依赖项
pip install "git+https://github.com/lizhisec/ymailink.git#egg=ymailink[all]"
# 或安装特定额外功能
pip install "git+https://github.com/lizhisec/ymailink.git#egg=ymailink[outlook,gmail,keyring,exchange,ai]"
如果 GitHub 无法访问,请使用 Gitee 镜像作为 git 源:
pip install git+https://gitee.com/w3hsec/ymailink.git
# 带有可选依赖项
pip install "git+https://gitee.com/w3hsec/ymailink.git#egg=ymailink[all]"
前提条件
Python 3.11+ 已安装。
ymailink 已安装(见安装部分上述)。
配置文件位于 ~/.config/ymailink/config.toml(或通过 -c 自定义路径)。
IMAP/SMTP 凭据、OAuth2 应用注册或 Exchange 服务器详细信息。
对于 AI 功能(ymailink ai ...):在配置文件的 [ai] 部分配置 API 密钥(见 references/configuration.md)。快速参考 — 所有命令 七个命令组,27 个子命令:
account — 管理账户
+ 子命令 | 操作
+ --- | ---
+ account list | 列出配置的账户
+ account doctor | 诊断账户连接
+ account configure | 运行交互式向导(打印配置到 stdout — 复制并粘贴到 ~/.config/ymailink/config.toml)
folder — 管理文件夹
+ 子命令 | 操作
+ --- | ---
+ folder list | 列出所有文件夹(显示计数 + 未读 — IMAP 省略这些)
+ folder add | 创建文件夹
+ folder delete | 删除文件夹
+ folder expunge | 永久删除已删除的消息(仅 IMAP;Outlook/Gmail/Exchange 为 no-ops)
+ folder purge | 删除文件夹中的所有消息(批量 500 个)
mail — 管理消息
+ 子命令 | 操作
+ --- | ---
+ mail list [-f 文件夹] [-p 页] [-s 大小] [-q 查询] | 列出消息(默认 INBOX,第 1 页,大小 20)。搜索语法取决于后端。
+ mail thread [-f 文件夹] | 查看单个消息的 ID(获取一个消息,而不是完整的线程)
+ mail read [-f 文件夹] | 读取消息正文(标记为已读)
+ mail write [--headers K:V ...] | 交互式组合通过 $EDITOR(或 vi 如果未设置)
+ mail send [raw] | 发送原始消息从文件或 stdin
+ mail reply [-f 文件夹] [--all] | 回复消息(回复所有消息时使用 --all)
+ mail forward [-f 文件夹] | 转发消息
+ mail copy -t TARGET [-f 文件夹] | 复制消息到目标文件夹
+ mail move -t TARGET [-f 文件夹] | 将消息移动到目标文件夹
+ mail delete [-f 文件夹] | 删除消息(IMAP:硬删除通过 EXPUNGE;Gmail:移动到垃圾箱)
flag — 管理消息标志
+ 子命令 | 操作
+ --- | ---
+ flag add -g FLAGS... [-f 文件夹] | 添加标志
+ flag set -g FLAGS... [-f 文件夹] | 替换所有标志
+ flag remove -g FLAGS... [-f 文件夹] | 删除标志
+ 有效标志:seen、answered、flagged、deleted、draft(不区分大小写)
attachment — 下载附件
+ 子命令 | 操作
+ --- | ---
+ attachment download [-f 文件夹] [-d 目录] | 下载附件。目录:--dir → 账户配置 → 全局配置 → ~/Downloads
+ 注意:仅 IMAP 后端提供附件二进制数据。Outlook/Gmail/Exchange 后端报告元数据(名称、大小),但无法下载实际文件字节。
template — 程序化消息组合
+ 子命令 | 操作
+ --- | ---
+ template write | 生成空白组合模板 → stdout
+ template reply [-f 文件夹] [--all] | 生成回复模板 → stdout
+ template forward [-f 文件夹] | 生成转发模板 → stdout
+ template save [raw] | 保存模板为草稿(从文件或 stdin 读取)
+ template send [raw] | 发送模板从文件或 stdin
ai — AI 驱动的电子邮件操作
+ 子命令 | 操作
+ --- | ---
+ ai short-summary [-f 文件夹] | 一行电子邮件摘要
+ ai summary [-f 文件夹] | 详细电子邮件摘要
+ ai rapid-reply [-f 文件夹] | 快速回复建议(3)
+ 注意:AI 功能需要在配置文件的 [ai] 部分配置 API 密钥(见 references/configuration.md),并且需要 ai 额外功能:pip install ymailink[ai]。所有三个命令获取目标电子邮件,发送到 AI API(https://ai.ymailink.com),并打印结果。
全局标志 标志 | 描述 --- | --- -c, --config | 配置文件路径(可重复用于深度合并) -o, --output | 输出格式:plain(默认)或 json -a, --account | 账户名称(默认为配置的默认账户) -q, --quiet | 抑制非错误日志输出(不抑制命令输出) --debug | 启用调试日志 -V, --version | 显示版本(ymailink 0.1.0)