发现 
命令行工具效率工具
Pop:终端里发邮件的命令行工具
在终端通过 TUI 或命令行撰写并发送 Markdown 邮件,支持附件,适合习惯命令行的开发者。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.5.0
- 平台
- Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
Pop 是一个用 Go 编写的终端邮件客户端。它既提供全屏的文本界面(TUI),也能直接以命令行方式接收标准输入作为正文来发送邮件,正文默认由 Markdown 渲染为 HTML。

主要功能
- 文本界面(TUI):直接运行
pop打开终端邮件客户端。 - 命令行管道发送:从标准输入读取正文,支持指定发件人、收件人、主题和附件。
- Markdown 正文:默认将 Markdown 渲染为 HTML;可切换为纯文本发送。
- 两种发送通道:可与 Resend 配合使用(OAuth 认证或 API Key),也可配置任意 SMTP 服务器。
- AI 助手集成:内置
pop skill与pop install-skill命令,可把使用说明写入技能文件,便于 AI agent 调用。

安装与使用
安装
通过包管理器:
# macOS 或 Linux
brew install pop
# Nix
nix-env -iA nixpkgs.pop
# Arch (btw)
yay -S charm-pop-bin
通过 Go 安装:
go install github.com/charmbracelet/pop@latest
也可以从 releases 页面下载二进制文件。
启动文本界面
pop
命令行发送
pop < message.md \
--from "[email protected]" \
--to "[email protected]" \
--subject "Hello, world!" \
--attach invoice.pdf
配置发送通道
与 Resend 配合使用时,最快的开始方式是执行 OAuth 认证:
pop auth
也可以在环境中设置 API Key(可在 https://resend.com/api-keys 获取):
export RESEND_API_KEY=$(pass RESEND_API_KEY)
使用 SMTP 时设置以下环境变量:
export POP_SMTP_HOST="smtp.gmail.com"
export POP_SMTP_PORT=587
export POP_SMTP_USERNAME="[email protected]"
export POP_SMTP_PASSWORD="babyfrogsquad"
其他设置
预填发件人地址与签名:
export POP_FROM="[email protected]"
export POP_SIGNATURE="Sent with [Pop](https://github.com/charmbracelet/pop)!"
设置 POP_PLAINTEXT=true 或传入 --plaintext,可将正文以纯文本而不是 Markdown 渲染后的 HTML 发送。
与 AI 助手配合
将使用说明写入技能文件:
mkdir -p .skills/pop
pop skill > .skills/pop/SKILL.md
也可直接安装到指定工具:
pop install-skill crush # 安装 Crush 技能
pop install-skill codex # 安装 Codex 技能
pop install-skill --help # 查看更多信息
组合示例
配合 crush 用 AI 生成邮件正文,--preview 可在发送前预览并修改:
pop <<< "$(crush run 'Explain why CLIs are awesome')" \
--subject "The command line is the best" \
--preview
配合 gum 选择收件人与发件人:
pop --from $(gum choose "[email protected]" "[email protected]" "[email protected]")
--to $(gum filter < contacts.txt)
配合 invoice 生成并发送发票:
FILENAME=invoice.pdf
invoice generate --item "Rubber Ducky" --rate 25 --quantity 2 --output $FILENAME
pop --attach $FILENAME --body "See attached invoice."
注意事项
- 使用 Resend 且没有自定义域名时,可用
[email protected]发送邮件。 - 命令行正文来自标准输入,示例中的
message.md需要自行准备。 - 项目以 MIT 许可证开源。
本作品整理自 GitHub 开源项目 charmbracelet/pop,原作者 @charmbracelet,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.5.0当前版本
用 Resend 上预置的客户端 ID 替代动态客户端注册(DCR),运行 pop auth 时会看到新的认证界面。
评论