Cloudflare Pages

A contact form on Cloudflare Pages. No Worker.

Pages serves the build. It does not include Netlify-style form handling. A Worker that sends mail is a backend you then own. smote is the action URL instead.

The HTML

<form action="https://smote.sh/f/FORM_ID" method="POST">
  <input name="email" type="email" required>
  <textarea name="message" required></textarea>
  <input type="hidden" name="_redirect" value="https://yoursite.com/thanks">
  <button>Send</button>
</form>

Where the file goes

Whatever you already deploy — Hugo, Astro, a folder of HTML — add the form to the contact page. The browser posts to https://smote.sh/f/FORM_ID. Pages never sees the POST.

Why not a Worker on the same account

You can write one. Then you keep SPF, spam, and an inbox. Use that time on the site. Create the action URL in the dashboard and leave Pages as a file host.

Get an action URL Docs

Also: GitHub Pages · Hugo · Astro · Jekyll · Any static site