临时邮箱终端工具

emailctl是一个命令行工具,用于生成、接收和发送临时电子邮件,适用于注册、测试和隐私保护场景。

  • by anir0y
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anir0y/emailctl

使用说明

电子邮件

终端中的一次性电子邮件地址。生成、接收和发送——所有这些都是通过命令行完成的。

emailctl 在上创建临时电子邮件地址 pkrnilayam.live 您可以将其用于注册、测试或隐私保护。电子邮件立即到达,可以直接从CLI读取。AI友好,具有结构化JSON输出和用于LLM代理的MCP服务器。

特性

  • 生成 每个帐户最多9个唯一的一次性地址
  • 阅读收件箱 对于实时生成的任何地址
  • 发送邮件 从你的一次性地址
  • 谷歌登录 --一次性OAuth,无需管理密码
  • JSON输出 --管道友好型 --json 在每个命令上标记
  • MCP服务器 --让AI代理直接管理电子邮件
  • 跨平台 --macOS(ARM+英特尔)、Linux x64、Windows x64

快速开始

1.下载

从获取您平台的最新版本 发布 页面:

平台 文件
macOS苹果硅(M1/M2/M3) emailctl-macos-arm64.tar.gz
macOS英特尔 emailctl-macos-x64.tar.gz
Linux x64 emailctl-linux-x64.tar.gz
Windows x64 emailctl-win-x64.zip

2.安装

macOS/Linux:

# Extract
tar -xzf emailctl-<platform>.tar.gz
cd emailctl-<platform>

# One-time setup (builds native module if needed)
chmod +x emailctl setup.sh
./setup.sh

# Optionally add to PATH
sudo ln -s "$(pwd)/emailctl" /usr/local/bin/emailctl

窗户:

# Extract the zip
# Run setup (one-time)
setup.bat

# Use from the extracted directory
emailctl.cmd --help

3.登录

emailctl login

登录URL始终打印到终端,因此它在任何地方都有效:

  • 桌面 --浏览器自动打开,回调完成登录
  • SSH/VM/无头 --从终端复制URL,在本地计算机上的任何浏览器中打开它,用谷歌登录。您的浏览器将重定向到 localhost:9876/callback?code=... --从地址栏复制完整的URL,并将其粘贴回emailctl正在等待的终端。
🔐 Login to emailctl

Open this URL in any browser:

  https://accounts.google.com/o/oauth2/v2/auth?client_id=...

After signing in, either:
  • The page will confirm login automatically (if running locally)
  • Or paste the callback URL from your browser here ↓

http://localhost:9876/callback?code=4/0Aci98E-...    ← paste here

你只需要做一次。

4.使用

# Generate a disposable address
emailctl generate

# Generate with a custom prefix
emailctl generate --prefix myalias

# List your addresses
emailctl list

# Check inbox
emailctl inbox <address>

# Check inbox (last 5 messages, full body)
emailctl inbox <address> --limit 5 --full

# Send an email
emailctl send --from <your-address> --to someone@example.com --subject "Hello" --body "Hi there"

# Delete an address
emailctl delete <address>

# Check account status
emailctl status

# Logout
emailctl logout

需求

  • Node.js v20+ — 下载
  • Google帐户(用于身份验证)

JSON输出

每个命令都支持 --json 对于结构化输出:

emailctl generate --json
# {"ok":true,"data":{"address":"a7kx9m@pkrnilayam.live","created_at":"2025-01-15T..."}}

emailctl inbox user@pkrnilayam.live --json
# {"ok":true,"data":{"address":"user@pkrnilayam.live","messages":[...],"total":3}}

emailctl list --json
# {"ok":true,"data":{"addresses":[...],"total":5}}

MCP服务器(用于AI代理)

emailctl 包括一个MCP服务器,因此AI助手(Claude等)可以直接管理一次性电子邮件。

Claude代码设置

添加到您的Claude Code MCP配置中:

{
  "mcpServers": {
    "emailctl": {
      "command": "node",
      "args": ["/path/to/emailctl-<platform>/emailctl"]
    }
  }
}

可用的MCP工具

工具 说明
generate_address 创建新的一次性电子邮件地址
create_address 使用特定前缀创建地址
list_addresses 列出所有活动地址
read_inbox 阅读电子邮件以获取地址
send_email 从生成的地址发送电子邮件
delete_address 删除地址

运作原理

  1. 您进行了身份验证 使用Google OAuth(一次性)
  2. 地址已生成 上 pkrnilayam.live 领域
  3. 所有电子邮件 到 *@pkrnilayam.live 落在一个包罗万象的邮箱里
  4. emailctl过滤器 消息由 X-Original-To 标题仅显示您的
  5. 发送 通过邮件服务器使用经过身份验证的SMTP
  6. 您的数据 在SQLite数据库中保持本地状态 ~/.emailctl/

故障排除

“找不到本机模块”错误

再次运行安装脚本:

./setup.sh  # macOS/Linux
setup.bat   # Windows

登录超时

  • 确保端口9876是空闲的(用于OAuth回调)
  • 检查您的浏览器是否可以打开 http://localhost:9876/callback

“未通过身份验证”错误

emailctl login   # Re-authenticate
emailctl status   # Verify login

隐私

  • 没有追踪 --emailctl不会给家里打电话(登录和电子邮件操作除外)
  • 本地存储 --您的地址注册表位于 ~/.emailctl/emailctl.db
  • 谷歌OAuth --仅请求电子邮件和个人资料范围(无法通过邮件访问您的Gmail)
  • 一次性设计 --完成后删除地址

许可证

专有的。保留所有权利。


由...建造 @anir0y