核心用法
email-resend 是一套基于 Resend API 的邮件收发自动化方案,支持四大核心场景:
1. 直接发信 — 使用 outbound.py 发送新邮件,支持多附件
2. 定时收信 — 通过 cron 每 15 分钟检查新邮件,自动推送 Telegram/Discord 通知
3. 线程化回复 — 专用 draft-reply.py 工作流,自动处理 In-Reply-To 和 References 头,确保 Gmail 等客户端正确归并线程
4. 附件管理 — download_attachment.py 支持列出、下载单条或全部附件
配置采用分层设计:必需项 RESEND_API_KEY 通过环境变量注入;发件人信息、通知渠道优先从 memory/email-preferences.md 读取,首次使用会自动引导用户填写并持久化。
显著优点
- 线程安全:强制使用
draft-reply.py进行回复,避免手动构造 Message-ID 导致的线程断裂问题 - custody chain 追踪:通过 JSON 状态文件(
email-custody-chain.json等)维护邮件→通知→回复的完整 DAG,支持审计溯源 - 灵活通知:支持静态硬编码与动态读取偏好两种 cron 配置方式,适配个人与团队场景
- 零配置启动:首次运行自动检测缺失配置,通过对话交互完成初始化,无需手动编辑文件
潜在缺点与局限性
- 外部依赖强:完全依赖 Resend 服务可用性,无法切换 SMTP 服务商
- Python 环境要求:脚本依赖
requests库,需保证运行环境已安装 - 附件存储本地:下载的附件落盘到指定目录,需自行管理存储与清理
- 审批流程敏感:"Approval Execution Rule" 要求代理在收到用户 "send" 确认后立即执行脚本,任何延迟或仅做文本确认都会导致邮件未实际发出
适合人群
- 需要将邮件接入自动化工作流的开发者/运维人员
- 使用 Telegram/Discord 作为主力通知渠道,希望邮件事件实时推送的用户
- 对 Gmail 线程归并有严格要求、频繁需要回复邮件的商务或客服场景
常规风险
- API 密钥泄露:
RESEND_API_KEY需妥善保管,避免提交到版本控制 - 误发风险:
outbound.py被错误用于回复场景将导致邮件线程断裂,影响沟通上下文 - 定时任务漂移:cron 间隔设置过短(如 <15 分钟)可能触发 Resend 频率限制
- 通知疲劳:未正确设置
ack机制时,同一封邮件可能被重复通知