mcpField
S
smartlead-inbox-manager

smartlead-inbox-manager

github.com/growthenginenowoslawski营销与增长79064 次安装3 周前更新
代码仓库

关于 smartlead-inbox-manager

通过 Smartlead API 管理邮箱的技能,涵盖预热、签名、标签和健康检查,并提供批量操作脚本及活跃邮箱与备用邮箱的转换流程。

主要功能

  1. 01启用或关闭邮箱预热
  2. 02配置预热量和递增设置
  3. 03批量应用签名模板
  4. 04添加或更新邮箱标签
  5. 05导出邮箱健康报告

适用场景

  1. 01配置新开通的邮箱
  2. 02将预热后的备用邮箱用于营销活动
  3. 03检查邮箱信誉和发送状态
  4. 04执行已批准的域名退役计划

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/growthenginenowoslawski/coldoutboundskills --skill smartlead-inbox-manager

安装后在 Claude Code 中输入/smartlead-inbox-manager确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
_lib.ts
list-health.ts
set-signatures.ts
set-warmup.ts
tag-inboxes.ts

详细介绍

Smartlead 收件箱管理器

Zapmail 会为你提供数百个新收件箱。Smartlead 需要对它们进行配置:启用预热并设置合适的递增速度、设置签名以免邮件显得空洞、添加标签以区分已启用的收件箱和备用收件箱,并监控健康状况,以便回收失效的收件箱。

此技能通过 Smartlead API 完成所有这些操作。

核心操作

操作功能脚本
启用预热按正确的递增速度开启预热(从每天 1 封开始,每天增加 5 封,最高每天 40 封)set-warmup.ts --mode=enable
禁用预热关闭预热(用于备用收件箱)set-warmup.ts --mode=disable
设置签名批量为收件箱应用签名模板set-signatures.ts
标记为已启用添加 "active" 标签tag-inboxes.ts --tag=active
标记为备用添加 "insurance" 标签tag-inboxes.ts --tag=insurance
健康状况面板列出所有收件箱及其预热状态、信誉和每日发送量list-health.ts

已启用与备用(标签约定)

并非每个收件箱都应一直发送邮件。一种常见模式是:

  • 已启用的收件箱 — 当前用于发送实时营销活动邮件。关闭预热(或仅进行最低限度的预热),优先发送实际邮件。
  • 备用收件箱 — 已预热但处于闲置状态,留作储备。开启预热以维持信誉。已启用的收件箱耗尽后,可换用备用收件箱。

标签可帮助你大规模跟踪这些收件箱。可以在 Smartlead 界面中或通过 API 按标签筛选。

输入

每个脚本都会读取:

  • SMARTLEAD_API_KEY(环境变量)
  • 收件箱选择器:--ids=1,2,3 或 --domain=example.com 或 --tag=insurance 或 --all
  • 操作专属标志(参见各脚本)

预热递增设置

新收件箱的默认预热配置(预热期第 1 至第 4 周):

{
  "warmup_enabled": "true",
  "total_warmup_per_day": 40,
  "daily_rampup": 5,
  "reply_rate_percentage": "20"
}
  • total_warmup_per_day:收件箱在预热网络中每天发送的最大邮件数(峰值)
  • daily_rampup:每天递增的数量(第 1 天 = 1,第 2 天 = 6,第 3 天 = 11,依此类推,直到达到上限)
  • reply_rate_percentage:预热网络中的对象回复的频率(20% 比较符合实际)

备用收件箱(长期维持信誉)的设置:

{
  "warmup_enabled": "true",
  "total_warmup_per_day": 15,
  "daily_rampup": 0,
  "reply_rate_percentage": "20"
}

较低的发送量,不递增——只需保持收件箱活跃。

已启用的收件箱(当前用于发送实时营销活动邮件)的设置:

{
  "warmup_enabled": "false"
}

关闭预热,让每日发送额度用于触达真实潜在客户。

签名模板

通过 set-signatures.ts 批量应用的默认模板如下:

{from_name}
{title}
{company}
{address}

渲染结果(例如):

Jane Smith
Founder
Acme
123 Main St, Suite 400, Austin, TX 78701

各值的来源:

  • {from_name} — 如果收件箱自己的 from_name 字段已设置,则使用该字段(每个收件箱可使用不同的人设);否则使用 .env 中的 SENDER_FIRST_NAME + SENDER_LAST_NAME
  • {title} — SENDER_TITLE 环境变量
  • {company} — SENDER_COMPANY_NAME 环境变量
  • {address} — SENDER_PHYSICAL_ADDRESS 环境变量(建议填写——在页脚中提供真实邮寄地址,有助于遵守 CAN-SPAM 等类似规定)

默认模板所需的 .env 条目:

SENDER_FIRST_NAME=Jane
SENDER_LAST_NAME=Smith
SENDER_TITLE=Founder
SENDER_COMPANY_NAME=Acme
SENDER_PHYSICAL_ADDRESS=123 Main St, Suite 400, Austin, TX 78701

自定义模板覆盖:

# Pass inline (use \n for newlines)
npx tsx scripts/set-signatures.ts --all --template="Cheers,\n{from_name}\n{title}\n{company}\n{address}"

# Or from a file
npx tsx scripts/set-signatures.ts --all --template-file=./my-signature.txt

可用占位符:{from_name}、{from_email}、{domain}、{title}、{company}、{address}。

营销活动中的邮件正文顺序:

在 Smartlead 序列中,正文始终以 %signature% 结尾——Smartlead 会在此处插入收件箱的签名。顺序如下:

<body content>

<PS unsubscribe line>

%signature%

这样 %signature%(包含姓名、职位、公司和地址)会位于底部,因此每个收件箱发出的邮件都会在页脚中附上真实邮寄地址。

健康状况面板输出

list-health.ts 会输出 CSV 和摘要:

email                              warmup   reputation   sent_today   health_status
[email protected]                    on       good         18           healthy
[email protected]                    on       fair         5            warming
[email protected]                     off      n/a          28           active
[email protected]                   on       bad          0            blocked

摘要:

Total inboxes: 80
  Warmup on: 50
  Active (warmup off): 28
  Blocked/failed: 2

Reputation:
  Good: 65
  Fair: 10
  Bad: 3
  Unknown: 2

Action items:
  - 2 inboxes blocked — run /email-deliverability-audit
  - 3 inboxes with "bad" reputation — consider pausing

常见工作流

Zapmail 配置完成后的第 1 天
# 1. Enable warmup on all newly created inboxes
npx tsx scripts/set-warmup.ts --mode=enable --tag=new --warmup-per-day=40 --ramp=5

# 2. Set signatures
npx tsx scripts/set-signatures.ts --tag=new --template="Best,\n{from_name}"

# 3. Tag them as insurance (they aren't active yet — warmup for 2 weeks first)
npx tsx scripts/tag-inboxes.ts --tag=new --add-tag=insurance
npx tsx scripts/tag-inboxes.ts --tag=new --remove-tag=new
将备用收件箱启用到实时营销活动中
# 1. Identify warm insurance inboxes with good reputation
npx tsx scripts/list-health.ts --tag=insurance --filter=reputation:good --out=activate-candidates.csv

# 2. Flip them to active
npx tsx scripts/tag-inboxes.ts --ids-from-csv=activate-candidates.csv --add-tag=active --remove-tag=insurance

# 3. Disable warmup (they're sending for real now)
npx tsx scripts/set-warmup.ts --mode=disable --tag=active
每周健康检查
npx tsx scripts/list-health.ts --all --out=health-$(date +%Y-%m-%d).csv

查看待处理事项。替换被屏蔽的收件箱。

何时停用收件箱

此技能介绍停用收件箱的具体操作。决策应由 /inbox-lifecycle-manager 负责,它会应用完整的判断流程——年龄门槛、发送量下限、退信分支,以及在减少容量前检查是否有预热完成的备用收件箱可供替换。

取消标准是 1% 规则:在已发送 200 封以上邮件的情况下,回复率 <1%(或已发送 150 封以上但零回复),且域名至少已注册 30 天。保护措施在于发送量下限,而不是放宽标准。

以下三条规则很重要,因为使用此技能时很容易停错对象:

  1. ⛔ 停用整个域名,绝不只停用单个收件箱。 邮箱服务商会按域名评估信誉。在你已判定为受损的域名上保留两个“表现良好”的收件箱,意味着它们会继承表现不佳收件箱的信誉,而且你仍在使用已被判定为不合格的域名发送邮件。
  2. ⛔ 绝不因回复率而停用注册未满 30 天的域名。 它尚未完成爬坡。
  3. ⛔ 绝不因发送量不足 200 封而停用。 低于此下限时,0% 的回复率无法区分收件箱确已受损,还是只是遇上了不走运的一周。

/inbox-lifecycle-manager 生成已批准的计划后,在此执行:

# actions.csv comes from /inbox-lifecycle-manager — reviewed and explicitly approved
npx tsx scripts/tag-inboxes.ts --domain=burned-domain.co --add-tag=retired --remove-tag=active
npx tsx scripts/set-warmup.ts --mode=disable --domain=burned-domain.co

开始前先快照当前标签——此处不会记录先前状态,没有快照就无法干净地撤销操作。完成后重新读取标签;200 并不能证明操作成功。

常见问题

  • 预热设置按收件箱分别配置。 没有全局设置。脚本会循环处理每个收件箱。
  • 速率限制。 Smartlead 每秒允许约 33 个请求。脚本默认使用 5 个并发请求。未经测试,不要提高此值。
  • 预热被阻止。 如果 is_warmup_blocked: true,说明该收件箱已被标记(通常是因为预热期间的行为类似垃圾邮件)。需要人工调查。
  • 某些 Smartlead 版本没有删除标签的端点——标签只能添加。要“移除”标签,请用不含该标签的新标签列表替换完整列表。脚本会自动处理。
  • 签名格式。 HTML 签名可能导致 Gmail/Outlook/Apple Mail 渲染异常。请使用纯文本,或只使用少量 <br> 标签。设置后请在 Gmail/Outlook 中测试。
  • 预热爬坡量会累积。 如果设置 daily_rampup: 5,收件箱第 1 天发送 1 封,第 2 天发送 6 封,第 3 天发送 11 封……直至达到 total_warmup_per_day。要重置(例如中断一段时间后),请先停用,再重新启用。

接下来要做什么

如果你刚配置了新收件箱: 启用预热(set-warmup.ts --mode=enable),应用签名(set-signatures.ts),标记为 insurance,然后等待预热 2 周。2 周后,将 insurance 提升为 active。

如果收件箱已完成预热: 使用标记为 active 的收件箱,继续构建名单(/prospeo-full-export、/disco-like 等)。

或者等待: 如果健康状况仪表板显示收件箱信誉不佳,请运行 /inbox-lifecycle-manager,先决定哪些收件箱确实需要停用,以及如何补足其容量,再启动新营销活动。

相关技能

  • /zapmail-domain-setup-public — 创建此技能要配置的收件箱
  • /email-deliverability-audit — 健康状况仪表板显示问题时使用
  • /inbox-lifecycle-manager — 决定哪些收件箱需要停用、提升或购买;此技能负责执行
  • /smartlead-api — 底层 API 参考

脚本

  • scripts/set-warmup.ts — 启用/停用预热,配置爬坡
  • scripts/set-signatures.ts — 批量设置签名
  • scripts/tag-inboxes.ts — 添加/移除标签
  • scripts/list-health.ts — 健康状况仪表板 CSV + 摘要
  • scripts/_lib.ts — 共享内容:API 客户端、收件箱选择器解析器、并发控制

评论

支持 Markdown