邮件自动化 — 管理面板构建器
在用户现有的管理面板中构建一个世界级的邮件自动化系统。它观察用户行为,将用户纳入正确的生命周期序列,并通过应用自身已配置的邮件连接发送个性化的、一对一的提醒邮件——其背后是由经过验证的漏斗定时策略支撑,而非群发。
目标: 提升用户回访、购买和留存率——不骚扰用户,不破坏任何现有功能。
请先阅读: 本技能从设计上即为非侵入式。它在修改代码前先研究应用,仅添加新的表/路由(从不重写现有流程),复用应用的邮件连接,并且默认处于暂停状态。在管理员明确启用之前,不会发送任何邮件。
工作流程
0. 探索 ─▶ 1. 设计 ─▶ 2. 构建 ─▶ 3. 挂接事件 ─▶ 4. 管理UI ─▶ 5. 验证 ─▶ 6. 交付
研究应用 + 数据模型 新表/ 触发器 → 仪表板 + 空运行 + 暂停 +
管理面板 + 序列 Worker/Cron 注册 表格 + 统计 预览 "开启?"
0. 探索(强制性,在任何代码之前)
全面研究应用并生成一份简短的集成计划。参见 references/discovery.md。
- 检测技术栈、框架、ORM/DB、认证、会话以及管理面板(或注意其缺失)。
- 寻找现有的邮件连接(SMTP/Provider SDK)—— 复用;绝不添加第二个。
- 映射产品、购物车/结账、订单、用户以及所需的事件。
- 理解平台的用途和商业模式(电商、SaaS、金融科技、预订……),其激活事件和关键账户步骤——然后提出额外的提醒序列(邮件验证、资料完善、新手指引、KYC、试用/账单、预订、续费……)。
- 如果没有管理面板,询问用户是否需要创建一个最小化的。
1. 设计
- 定义数据模型(
examples/data-model.md):序列、步骤、注册、预定的邮件、发送日志、设置、抑制列表。 - 选择序列集和定时策略(
references/sequences.md)。
2. 构建(仅增量)
- 添加新表/集合、一个调度器作业和发送 Worker。不要修改现有表。
- 添加一个特性开关/主暂停开关(默认关闭)和一个全局终止开关。
3. 挂接事件
- 将应用现有事件(注册、登录、添加购物车、结账开始、购买、不活跃)连接到注册逻辑——不改其行为(观察,不拦截)。
4. 管理UI
- 添加一个顶级**“邮件自动化”**菜单,包含选项卡:序列 · 收件人 · 统计 · 设置。参见
references/admin-ui.md。 - 在产品页面和结账页面底部添加仅管理员可见的已购买/已放弃表格。
5. 验证
- 空运行模式、预览/测试发送工具、幂等性检查以及停止条件审计。
6. 交付
- 系统默认暂停。通知管理员,显示一键“开启”(或让代理协助),并记录回滚方法。
序列目录(经过验证的漏斗定时策略)
完整详情、文案意图和停止条件:references/sequences.md。摘要:
| # | 序列 | 触发条件 | 定时(默认) | 停止条件 |
|---|---|---|---|---|
| 1 | 欢迎 / 激活 | 注册 | 0h 欢迎 → 24h 价值 → 72h 社交证明 | 登录 / 购买 |
| 2 | 已注册,从未登录 | 注册 + 未登录 | 1h → 24h → 72h | 登录 |
| 3 | 已登录,未购买/使用 | 登录后不活跃 | 1h 提醒 → 24h → 5d | 购买 / 激活 |
| 4 | 放弃购物车 / 结账 / 产品 | 添加购物车、开始结账或浏览产品后未购买 | 1h 提醒(无折扣)→ 24h 社交证明/异议 → 48–72h 紧迫+折扣 | 购买 |
| 5 | 购买后评价 | 购买(识别产品类型) | 次日“使用体验?”→ 2周“体验 + 追加销售” | 评价 / 退订 |
| 6 | 追加销售 / 交叉销售 | 购买且存在其他产品 | 价值时刻后(3–7天) | 购买推广项目 |
| 7 | 召回 / 重新参与 | 不活跃 30 / 60 / 90 天 | 中性 → 价值 → 最终“我们将停止” | 活跃 / 退订 |
| 8 | 补货 | 消耗品 | 约第 45–60 天 | 再次购买 |
折扣: 追加销售可能带有折扣;放弃购物车带有紧迫+折扣。默认 0% —— 当为0时,邮件绝不能提及折扣。一个最小购物车金额保护会跳过低价值购物车的激励。(references/sequences.md。)
优先级: 一个用户最多只能处于一个促销序列中——购买 > 购物车 > 浏览 > 欢迎 > 未登录 > 不活跃 > 召回。额外序列:浏览放弃、补货、降价、催款、推荐。参见 references/sequences.md。
加上从应用用途派生的平台相关序列——例如邮件验证、资料完成、新手指引设置、KYC、账单/试用结束、预订提醒、续费。仅添加平台能够检测并处理的序列 (references/sequences.md)。
不可妥协的规则
- 先研究再构建。 切勿修改现有的认证、购物车、结账、订单或用户流程。仅添加新表/路由。
- 复用现有的邮件连接。 不设置第二个 SMTP/Provider。不批量/群发——邮件是面向用户且由事件驱动的。
- 默认暂停。 主开关关闭;管理员会收到通知去开启(代理可提供协助)。
- 绝不滥发邮件。 频率上限(默认 ≤1 封营销邮件/用户/24h,≤4 封/周)、静默时段和一个全局抑制列表(已退订、已退回、已投诉)。尊重兴趣和同意。
- 停止条件始终优先。 在每次发送前重新检查目标(购买/登录/激活),确保已购买用户不会收到购物车提醒。
- 个性化、一对一的文案。 “发件人”来自一个真实的人(
品牌名称),用语个性化,提及具体产品,一个清晰的CTA,并且在每封邮件中包含**“联系管理员”**链接。 - 可送达性 + 合规性。 SPF/DKIM/DMARC、品牌化发送域名、HTML + 纯文本、退订 + 实际地址、无垃圾邮件触发词。参见
references/sending-and-compliance.md。 - 一切皆可审计。 每次发送都会被记录(谁、哪个序列/步骤、何时、为什么),并且每封预定的邮件在管理面板中都可见。
- 美观 + 无缝。 匹配应用的视觉设计语言;管理部分必须看起来像原生功能。使用像
reviews-to-features那样的严谨风格:清晰的层级、44px 点击目标、可访问的对比度。 - 免费的所见即所得邮件正文编辑器。 管理员可以在一个免费的、自托管的所见即所得编辑器(TinyMCE Community;或者 Quill / TipTap / Summernote / GrapesJS)中编辑每个邮件模板。输出必须是邮件安全的(内联CSS、表格、~600px宽度、无JS)、经过清理、包含合并令牌、一个条件性折扣块以及自动生成的纯文本副本。
非侵入式契约(强制执行)
“非侵入式”是需要验证的,而非假设。完整清单:references/non-disruption.md。最低要求:
- 备份数据库后再进行迁移;迁移是增量且可逆的(不修改现有表)。
- 钩子是仅观察模式,并用
try/catch包裹——一个失败的观察者绝不能破坏注册/登录/结账/支付。 - 默认暂停并带有全局终止开关;复用现有的邮件连接。
- 安装后冒烟测试所有五个核心流程;执行回滚演练(禁用 → 删除表 → 确认未被触及其他内容)。
管理员界面(管理员能看到什么)
- 平静、不杂乱的布局——≤4 个选项卡,每个视图一个主要操作,详情在抽屉中,次要/破坏性操作在溢出 (
⋯) 菜单中,高级设置折叠,仅在需要时显示健康横幅。 - 每个选项卡顶部的健康横幅(仅在有问题时显示):未配置邮件传输、调度器/Cron 未运行(包含详细原因和修复方法),以及自动化暂停。参见
references/health-checks.md。 - 邮件自动化菜单(顶级),包含选项卡:
- 序列 — 每个序列的开始 / 暂停 / 删除(删除需确认且为软删除/可恢复,隐藏在
⋯中)、延迟、折扣、停止条件、一个免费的所见即所得编辑器,以及添加 / 重新排序 / 删除步骤。 - 用户与收件人 — 通过电子邮件搜索用户;使用向下箭头展开他们的邮件序列;取消特定邮件或完全排除用户;以及完整的发送日志每页 100 条,包含何时和为何。
- 统计 — 收到提醒的用户中,有多少人转化,收入,按天 / 周 / 月的图表。
- 设置 — 发件人(发件人姓名/发件人邮箱/回复地址/实际地址)、主暂停、频率上限、静默时段。
- 序列 — 每个序列的开始 / 暂停 / 删除(删除需确认且为软删除/可恢复,隐藏在
- 产品页面和结账页面底部的管理员专用表格:
- 选项卡 已购买 / 已放弃 — 明确标记着 "仅管理员可见"。
- 列:邮箱(→ 用户面板)、注册/登录/放弃日期时间、潜在支付金额、电话(→
tel:呼叫),以及一个箭头,展开显示已接收 + 已预定邮件,并可链接到用户面板进行取消/排除。 - 可从邮件自动化 → 设置中禁用,表格标题下包含说明和链接。
完整 UI 规范:references/admin-ui.md。
何时不使用
- 没有合法的营销邮件同意基础(先提供同意流程)。
- 用户基数非常小,自动化噪音超过价值——手动发送。
- 产品不适合邮件渠道(SMS/推送优先)——适配引擎,不要强推邮件。
- 受监管场景(健康/金融)需要更严格的审查——获得文案和数据流程的批准。
- 高安全性的交易类需求——切勿通过此系统发送收据/安全邮件。
代理产出的交付物
references/discovery.md→ 针对特定应用的集成计划,包括一个根据平台用途推导出的推荐序列清单。- 新表/迁移 + 调度器 + 发送 Worker(增量添加)。
- 事件钩子(仅观察)。
- 管理“邮件自动化”页面 + 选项卡 + 统计图表,包括一个免费的所见即所得编辑器、添加 / 重新排序 / 删除步骤、用户搜索 + 单封邮件取消 / 排除,以及健康警告(暂停、Cron 未运行、无邮件传输)。
- 管理员专用的已购买/已放弃表格。
- 预览/测试发送工具 + 空运行 + 回滚说明。
- 一份简短的交付文档:添加了什么,如何开启,如何暂停,如何回滚。
参考资料
references/discovery.md— 研究应用,找到管理面板,选择集成路径。references/non-disruption.md— 强制执行的破坏性最小化契约(备份、可逆迁移、钩子隔离、冒烟测试、回滚演练)。references/triggers.md— 每个触发器的精确检测规则(购物车放弃、不活跃等)。references/sequences.md— 完整的序列目录、优先级、定时、文案意图、停止条件。references/email-copy.md— 个性化“来自一人”的文案标准、主题行、模板。references/sending-and-compliance.md— 调度器、幂等性、频率上限、可送达性预检。references/compliance.md— 同意、签名退订、偏好中心、退回/投诉 Webhook。references/admin-ui.md— 仪表板、用户选项卡(搜索/取消/排除)、日志(每页 100 条)、统计、管理员专用表格、所见即所得、添加/编辑步骤。references/health-checks.md— 暂停 / Cron 未运行 / 无传输警告及修复指南。references/reference-implementation.md— 伪代码 + SQL 中的引擎(锁定、回收者、归因)。examples/worker.mjs+examples/worker.test.mjs— 可执行、经过测试的调度器/Worker 核心。examples/data-model.md— 数据库 Schema。examples/sequence-config.json— 一个具体的、可编辑的序列配置。examples/email-templates.md— 示例渲染邮件。