FormRill
  1. AI builders
  2. Cursor

Cursor contact form not sending email?

Cursor says the form is wired up, but the endpoint it used doesn’t exist, or the handler is still a TODO. Cursor edits the project in your own repo, with whatever stack you use. A contact form it writes still needs somewhere to send, and that is a decision you have to give it.

Next: your form URL and a ready-to-paste prompt appear right away, set to email this address. No password; we email you a sign-in link. Free for 500 submissions a month, no card.

Why it doesn’t send

Because Cursor works inside any stack, it can produce an Astro form, a React component or a PHP handler, and it will pick whichever fits the code it can see. Without a destination in your instructions, it writes a placeholder or invents an endpoint.

Give the agent the real URL once and it stops guessing. You can verify that URL yourself from a terminal before you let the agent wire it in.

Paste this into Cursor

Paste it into Cursor’s chat or Agent with the form file open, and review the diff before you accept it.

prompt for Cursor

Make my contact form send submissions to FormRill at https://api.formrill.com/YOUR_FORM_ID/submit. Find the contact form in this project, wire it up in whatever stack it uses, and show me the diff before applying it. Keep my existing fields and styling, name the email input "email", and add <input type="checkbox" name="botcheck" hidden /> as a honeypot. If the form submits with JavaScript, send FormData with fetch and the header Accept: application/json, show success only when the JSON response has ok: true, and show an error otherwise. Do not add a backend, API route, edge function, environment variables or API keys.

Replace YOUR_FORM_ID with the ID from your form URL after signup. After you sign up, your dashboard shows this prompt with your real form URL already filled in.

Cursor gotcha: Coding agents invent plausible-looking endpoints. Run the curl test first, check the diff uses exactly your URL, and save it in a project rule so the next form doesn’t guess.

What it produces

curl -X POST https://api.formrill.com/YOUR_FORM_ID/submit \
  -H "Accept: application/json" \
  -d "name=Test" -d "email=you@example.com" -d "message=Hello from curl"

Three steps

  1. Sign up and copy your form URL. Run the curl test and watch the message arrive.
  2. Paste the prompt into Cursor chat or Agent with the form file open. Review the diff before accepting it.
  3. Save the endpoint line in a project rule so every future form uses it.

Questions

Can I make Cursor remember the endpoint?

Yes. Put the endpoint and the honeypot field in a project rule file, and later forms it generates will follow it.

Does it work with Astro, Next.js, Hugo and plain HTML?

Yes. It is an HTTP POST, so any stack that can submit a form or call fetch can use it.

Can Cursor read my submissions?

Not yet. An MCP server for that is planned and not available today, so read submissions in the dashboard or your inbox.

Is it free?

Yes: 500 submissions a month free, shared by every form in every project. Details on the pricing page.

Fix your Cursor form in one paste

Free up to 500 submissions a month and unlimited forms. No server, no credit card.

Start free

Other AI builders