我在一个周末搭建了表单后端,因为每月支付 $20 的联系表单太蠢了

发布: (2025年12月30日 GMT+8 23:59)
4 min read
原文: Dev.to

Source: Dev.to

So here’s the thing

我上周末在帮朋友搭建他的作品集网站。设计不错,站点快速,使用 Vercel 免费层托管——完美。随后他想要一个联系表单。常见的建议是使用表单后端服务,但价格是“每月 20 美元?!只为保存一些文字?”

仔细想想,我们其实只是在为一次数据库插入和一封邮件通知付费。我决定自己动手实现。

What I built

FormRelay

FormRelay 的使用方式很直接:把你的 HTML 表单指向它,它会保存数据、发送邮件给你,并在仪表盘中展示所有内容。不同之处在于你自己托管——使用自己的 Supabase 数据库、自己的 Vercel 部署、自己的数据。

Cost comparison

  • Supabase 免费层: 5 万用户
  • Vercel hobby 计划: 免费
  • Resend 免费层: 3 千封邮件/每月

结果:0 美元/每月 对比 20 美元/每月

“But isn’t self‑hosting complicated?”

十年前这确实是事实。今天,借助 Vercel 和 Supabase,操作简直和下面一样:

  1. Fork 代码仓库
  2. 点击 Deploy
  3. 添加几个环境变量

就这么简单。README 的编写时间比实际部署还长。

Here’s where I might lose some of you

我们已经习惯了把一切都租出去。独立网页的精神是拥有自己的东西,即使会更麻烦。现在我们对所有东西都订阅。并不是每个人都想管理基础设施,但在“自己运营服务器机柜”和“为联系表单服务每年付 300 美元”之间有巨大的鸿沟。FormRelay 正是为填补这段鸿沟而生。

Random things I learned

  • Next.js 15 在 App Router 风波后感觉很稳;服务器动作直接可用。
  • Supabase 提供实时更新、认证以及优秀的文档。
  • 最难的部分不是代码,而是编写清晰的安装说明。

About the email thing

我使用 Resend 是因为我的域名没有邮件托管。它的免费层(3 千封邮件/每月)正好合适。如果你已经为域名配置了邮件服务,可以用任何 SMTP 服务器替代 Resend——只需填入凭证即可。

Tech stack (if you care)

  • Next.js 15(App Router)
  • Supabase(PostgreSQL + Realtime + Auth)
  • Tailwind CSS
  • Radix UI
  • Resend 负责邮件(或任意 SMTP)
  • Lucide 图标

没有花哨的东西,只有可靠的工具。

You can use it

  • GitHub:
  • Live demo:

项目采用 MIT 许可证。欢迎 Fork、提交 bug 报告或 Pull Request。

The actual point

这不仅仅是为了省下 20 美元/每月,更是提醒我们可以自行构建许多依赖的工具。SaaS 产品提供价值——支持、维护、功能——但对于像表单处理这样基础的需求,一个周末的项目就能取代昂贵的订阅。

Back to Blog

相关文章

阅读更多 »

X-Clacks-Overhead

请提供您希望翻译的具体摘录或摘要文本,我才能为您进行简体中文翻译。