Guides
Step-by-step recipes for the jobs a small site needs email for: forms without a backend, newsletter signups, transactional email and DNS.
These guides are written for people who run a few small websites and would rather not run a server for them. Each one solves a single problem end to end, with code you can paste, a way to test it and a plain account of the trade-offs. They lean on two parts of SendBeam: the public form endpoint, which lets a static page post a signup or a message without any backend, and the REST API, which sends a single email to a contact.
If you are looking for host- or framework-specific notes first, the integrations pages cover Astro, Next.js, Hugo, Eleventy, WordPress, Cloudflare Pages, Netlify, Vercel, Zapier and Make.
The guides
Contact form backend for Cloudflare Pages
A contact form on a static Cloudflare Pages site that emails you, with Turnstile and no Pages Function.
Newsletter signup on an Astro site
An Astro component that posts a signup to SendBeam, with the form ID in an environment variable.
Form to email without a backend
Plain HTML and fetch: a form on any static host that lands in your inbox.
Transactional email for a side project
Welcome emails, receipts and notifications from a Node script or serverless function via the REST API.
Double opt-in on a static site
Confirmed subscriptions from a static site: what happens after the POST and what to tell the visitor.
Verify a sending domain with Cloudflare DNS
Add the CNAME records at Cloudflare, or let SendBeam add them, and pick your from-address.
Starter kits
Working code for every guide above lives in five small, runnable projects. Each one carries a newsletter signup, a contact form, the double opt-in wording, an unsubscribe route and the spam protection, with a deploy config for its host. Clone one, put your form IDs in its environment file and deploy:
- HTML and vanilla JS Plain HTML No API key needed · Any static host One page, one script, no build step: paste the files onto any host and both forms work. sendbeam-starters/plain-html
- Astro Astro on Cloudflare Pages No API key needed · Cloudflare Pages Signup and contact components, form IDs in PUBLIC_ environment variables, and a _headers file that lets Turnstile load. sendbeam-starters/astro-cloudflare-pages
- Eleventy Eleventy on Netlify No API key needed · Netlify Nunjucks includes and a global data file, with a netlify.toml that sets the Content-Security-Policy for you. sendbeam-starters/eleventy-netlify
- Next.js (App Router) Next.js on Vercel No API key needed · Vercel Client components that post straight to the form endpoint, so no route handler and no secret sit in the middle. sendbeam-starters/nextjs-vercel
- Hugo Hugo No API key needed · Any static host Two partials and one script in static/, with the form IDs read from site params in hugo.toml. sendbeam-starters/hugo
Every starter covers the same five things — newsletter signup, contact form, double opt-in, unsubscribe and spam protection — reads its form IDs from environment variables or site config, and is MIT licensed. Browse them all in sendbeam-starters.
Stuck, or found a gap? Ask in the community — questions, tips and every release note, with this page as the source of truth.