为静态作品网站设计自动化邮件订阅系统,连接 HubSpot、Mailchimp、Zapier、Strapi 与 Cloudflare Workers,并排查 RSS 请求被另一 Worker 拦截的集成问题。
使用工具
标签
我的目标看似简单:为静态个人作品网站接入自动化邮件订阅与通知功能。核心需求是让新订阅者在新博文发布后的第二天早上7 点收到邮件通知。为实现这一目标,我需要协调静态 HTML/CSS/JS 前端、负责内容管理的 Strapi 无头 CMS,以及承担无服务器逻辑的 Cloudflare Workers。
第一步是将订阅表单接入客户关系管理系统(CRM)。我选择 HubSpot 是为了获得实践经验,但项目当时使用的免费套餐不包含所需的 RSS 邮件推送功能。因此,我又引入Mailchimp 来实现邮件自动化,这也带来了跨平台数据同步的问题。
排查突破口:问题原来不在 RSS 代码
为了避免手动搬运数据,我让 Zapier 充当中间层,将 HubSpot 的新联系人自动同步到 Mailchimp 受众列表。联系人导入流程搭建完成后,下一个难题是生成 RSS 源。接下来的两天里,负责从 Strapi 拉取内容并生成 RSS 的定制 Cloudflare Worker 一直无法正常返回内容,导致 Mailchimp 预览空白。我确信问题出在我的 RSS 代码上。然而,真正的问题却出在另一个组件:一个现有的服务器端渲染 (SSR) Cloudflare Worker,它主要用于 SEO 优化。这个 SSR Worker 无意中拦截了发往 RSS 生成器的请求,错误地提供了主站的 HTML 内容,而不是至关重要的 RSS 源。最终,我找到了这个冲突并加以解决,这成为了关键的突破口。
集成方案与经验:
排除请求冲突后,整条自动化流程终于连通:
联系人数据采集:静态网站上的订阅表单现在可以高效地将新的联系人数据直接发送到 HubSpot。
联系人同步: Zapier 已配置为立即检测并自动将这些新的 HubSpot 联系人转移到指定的 Mailchimp 受众列表中。
可靠的内容源:由独立的 Cloudflare Worker 从 Strapi CMS 生成 RSS,避免被网站渲染逻辑干扰。
自动发送: Mailchimp 读取 RSS,在新博文发布后的次日早上 7 点发送通知邮件;订阅者列表由 Zapier 持续同步。
这次项目从一个邮件通知需求,变成了营销技术(MarTech)集成与无服务器架构的完整实践。连接 HubSpot、Mailchimp 与 Zapier 的过程,让我更加理解跨平台依赖,也学会沿着实际请求路径定位故障,而不是只盯着表面上出问题的模块。

