核心用法
zoho CLI 提供完整的 Zoho Mail 终端管理能力,默认 JSON 输出便于脚本集成。核心工作流:
1. 安装与认证:通过 Homebrew/uv/pipx 安装,执行 zoho config init 配置 OAuth,zoho login 完成浏览器授权
2. 邮件操作:mail list/search/get 浏览检索,mail send 发送(支持 HTML/附件),mark-read/move/delete 批量管理
3. 文件夹管理:folders list/create/rename/delete 组织邮件结构
4. 自动化集成:配合 jq 实现过滤、批量操作、附件下载等管道工作流
显著优点
- 结构化输出:JSON 为主,可选 Markdown,完美适配 CI/CD 和 AI agent 场景
- 零第三方依赖:直接对接 Zoho API,无中间服务
- 自动令牌管理:OS keyring 存储,自动刷新,无需手动维护
- 多账号支持:
--account切换,环境变量灵活配置 - 跨平台:Python 3.11+,覆盖 macOS/Linux/Windows
潜在局限
- OAuth 配置门槛:需自行在 Zoho Developer Console 创建应用获取 client_id/secret,对非技术用户不友好
- 认证状态依赖:token 过期需手动重登,headless 环境需配置
ZOHO_TOKEN_PASSWORD - 速率限制:受 Zoho API 配额约束,大规模批量操作可能受限
- 单点故障:依赖 Zoho 服务可用性
适合人群
- 开发者/DevOps 工程师:自动化邮件处理、报警通知
- 系统管理员:批量邮件归档、审计导出
- 高级用户:偏好终端工作流,需脚本化邮件管理
常规风险
| 风险点 | 说明 |
|--------|------|
| 凭证泄露 | `config.json` 含 OAuth client_secret,需限制文件权限(建议 600) |
| 令牌暴露 | 环境变量 `ZOHO_TOKEN_PASSWORD` 可能入 shell history,建议用专用 secret 管理 |
| 误操作不可逆 | `--permanent` 删除、批量 `move`/`delete` 无二次确认,脚本中需加 dry-run 逻辑 |
| 网络嗅探 | 所有流量经 HTTPS,但本地 token 解密瞬间存在内存暴露窗口 |