How to Add Multiple Recipients to a Static Contact Form
One inbox is fine until the person watching it is out. Here is how to notify more than one address from a single static contact form.
Notes from the team on static-site forms, JAMstack patterns, and form security.
One inbox is fine until the person watching it is out. Here is how to notify more than one address from a single static contact form.
Free plan users copy submissions one at a time from the dashboard. Pro and Agency can pull the full set as CSV or JSON through the export API. Here is how each path works and when to move from one to the other.
SimpleForm signs every webhook POST. Here is what that header protects against, and the five-step check that turns an unverified webhook into one you can trust.
A blank Redirect URL field just shows a generic thank-you page. Here's how to send visitors somewhere useful instead, and what changes when the submission comes in over AJAX.
Netlify Forms is tied to Netlify's build pipeline, so it silently breaks on any other host. Here is what actually happens and how to migrate without losing a single submission.
Your form's action URL is sitting in plain view in your page source. Here's how to stop anyone else from posting to it.
A 429 response on your SimpleForm endpoint means the IP-based rate limiter kicked in, not that you have hit your plan's monthly quota. Here is how the two differ and what to do about it.
A fetch() call to your form backend fails silently with a CORS error while the plain HTML version worked fine. Here is the exact mechanism and the fix.
Hitting a form submission limit does not crash your site, but it does silently drop submissions. Here is exactly what SimpleForm does when a plan's cap is reached.
SimpleForm can push every form submission into Slack the instant it arrives — but only if you know the one payload-shape gotcha that keeps most direct setups silent.
Contact form emails from static sites often disappear into spam because the sending domain never authenticates. Here is the actual mechanism, and the fix.
reCAPTCHA v3 scores every form submission from 0 to 1 with no checkbox to click. Here's how to wire it into a static site form and understand what happens to that score.
A plain HTML form reloads the page on submit because the browser treats it as a top-level navigation. Intercept the submit event with fetch and you keep the page, the state, and the user.
A static host can't catch a file upload on its own. Here are the three real ways to add one, and the exact HTML SimpleForm needs to receive files directly.
The form is the easy part. What happens to the submission afterwards — where it is forwarded, how long it is kept, who can read it — is where both the outages and the legal exposure live.
Static site generators removed the server, which also removed the thing that used to handle POST. Here is the complete path from a plain HTML form to submissions arriving reliably.
Honeypots cost nothing and catch most bots. reCAPTCHA catches more and costs your visitors something real. Here is how to decide which layers your form actually needs.
Have a topic you'd like us to cover? Tell us.