3.7 KiB
3.7 KiB
TaskPing 邮件回复功能使用指南
English | 中文
📋 完整使用流程
步骤1:启动邮件监听服务
在终端1中运行:
cd /Users/jessytsui/dev/TaskPing
npm run relay:pty
这会启动邮件监听服务,监听 noreply@example.com 收到的回复邮件。
步骤2:启动Claude Code并集成TaskPing
在终端2中运行:
# 启动Claude Code
claude
# 在Claude Code中使用TaskPing发送邮件通知
# 例如:当任务完成时会自动发送邮件
步骤3:配置Claude Code钩子(如果还没配置)
在Claude Code中运行:
# 查看当前钩子配置
cat ~/.config/claude-code/settings/hooks.json
# 如果没有配置,需要设置TaskPing钩子
# 复制TaskPing的钩子配置文件
📧 邮件回复测试流程
方法1:手动测试发送邮件
# 在TaskPing目录中运行
node test-smtp-token.js
这会发送一封测试邮件到 user@example.com,邮件主题包含Token格式:
[TaskPing #XXXXXXXX] Claude Code 任务完成 - TaskPing-Token-Test
方法2:实际集成测试
- 在Claude Code中执行一个任务
- 任务完成后,TaskPing会自动发送邮件通知
- 邮件会发送到配置的邮箱(
user@example.com)
💌 如何回复邮件发送命令
收到邮件后:
-
在
user@example.com收到邮件,主题如:[TaskPing #A53PXR7F] Claude Code 任务完成 - 项目名 -
直接回复邮件,在正文中输入命令:
继续优化代码或
生成单元测试或
解释这个函数的作用 -
发送回复后,邮件监听服务会:
- 收到回复邮件
- 提取Token(A53PXR7F)
- 找到对应的PTY会话
- 将命令注入到Claude Code CLI
🔧 配置文件说明
.env 配置
# 发件配置(飞书邮箱)
SMTP_HOST=smtp.feishu.cn
SMTP_USER=noreply@example.com
SMTP_PASS=kKgS3tNReRTL3RQC
# 收件配置(飞书邮箱)
IMAP_HOST=imap.feishu.cn
IMAP_USER=noreply@example.com
IMAP_PASS=kKgS3tNReRTL3RQC
# 用户通知邮箱
EMAIL_TO=user@example.com
# 允许发送命令的邮箱(安全白名单)
ALLOWED_SENDERS=user@example.com
🐛 故障排除
1. 收不到邮件回复
检查:
- 邮件监听服务是否正在运行(
npm run relay:pty) - 是否从白名单邮箱(
user@example.com)发送回复 - 邮件主题是否包含正确的Token格式
2. 命令没有注入到Claude Code
检查:
- Claude Code是否还在运行
- PTY会话是否还有效(Token未过期)
- 检查服务日志输出
3. 查看调试日志
# 查看详细的邮件监听日志
DEBUG=true npm run relay:pty
📱 支持的邮件客户端
用户可以从任意邮箱回复到 noreply@example.com:
- ✅ Gmail 网页版/客户端
- ✅ 手机Gmail APP
- ✅ Apple Mail
- ✅ Outlook
- ✅ QQ邮箱
- ✅ 163邮箱
- ✅ 任何支持SMTP的邮箱
🔒 安全特性
- Token验证:每个会话有唯一Token,防止误操作
- 发件人白名单:只有授权邮箱可以发送命令
- 会话过期:Token有24小时有效期
- 命令过滤:自动过滤潜在危险命令
🎯 实际使用场景
场景1:长时间构建
1. 在Claude Code中启动项目构建
2. 离开电脑,在手机收到构建完成邮件
3. 手机直接回复:"继续部署到生产环境"
4. 回到电脑时部署已完成
场景2:代码审查
1. Claude Code完成代码生成
2. 收到邮件通知
3. 回复:"请添加单元测试和文档"
4. Claude自动生成测试和文档
这样就可以实现真正的远程控制Claude Code了!