邮件通讯、用户引导序列、产品公告、"我们想念你"的挽回邮件。Loops 专为 SaaS 生命周期邮件而生——与 Resend 或 Postmark 等事务邮件服务解决的是不同问题。
在 Loops 控制台中进入 Settings → Sending domain,输入你希望邮件来自的域名(例如 mail.yourapp.com——建议用子域名,避免营销邮件影响根域名的信誉)。
Loops 会给出 3 条需要添加的 DNS 记录:一条 MX、一条 TXT(SPF)和一条 CNAME(DKIM)。将它们粘贴到你的 DNS 服务商——Cloudflare、Namecheap,或参考通用 DNS 配置指南。
点击 Verify。Loops 每分钟自动检查一次——通常 5 到 30 分钟内会变为绿色。如果一小时后仍未通过,说明你的 DNS 服务商生效较慢,可用 dig CNAME loops._domainkey.mail.yourapp.com 手动确认。
Settings → API → 点击 Generate API key。请立即复制——Loops 不会再次显示。将其存入 .env,变量名为 LOOPS_API_KEY。
API 文档:loops.so/docs/api-reference。
每次注册、每次套餐变更、每次取消——都要将事件推送到 Loops。这是保持受众分组准确的唯一途径。
安装 SDK:
npm install loops
用户注册时:
import { LoopsClient } from "loops";
const loops = new LoopsClient(process.env.LOOPS_API_KEY);
await loops.contacts.create({
email: user.email,
firstName: user.firstName,
userGroup: "trial", // for segmentation
source: "website",
signupDate: new Date().toISOString(),
});
套餐升级时:
await loops.contacts.update({
email: user.email,
userGroup: "pro",
plan: "pro_monthly",
});
取消订阅时:
await loops.contacts.update({
email: user.email,
userGroup: "churned",
churnedAt: new Date().toISOString(),
});
控制台 → Campaigns → New campaign。拖拽内容块:文本、图片、按钮、分隔线。Loops 会生成兼容各邮件客户端的 HTML——不需要 iframe 那些旁门左道。
受众:按你已同步的任意属性筛选,例如 userGroup = "pro"、signupDate > 30 days ago、plan = "free" AND lastLogin < 14 days ago。
发送前可在 6 个邮件客户端(Gmail、Outlook、iOS Mail、深色模式等)预览效果。Loops 在编辑器中内置了类似 Litmus 的预览功能。
点击 Send 立即发送,或选择定时发送。开/点击追踪默认开启。
"Loops"是 Loops 对滴灌营销活动的叫法。Loops → New loop → 选择触发器:
plan 变为 "churned" 时触发挽回序列在画布上拖拽邮件块,添加等待步骤("等待 2 天"),添加条件分支("如果 hasShipped = true,则跳过")。保存后激活。
在应用代码中触发:
// Loops loops can also be triggered via event
await loops.events.send({
email: user.email,
eventName: "completedOnboarding",
});
定价页面:loops.so/pricing。