Enquiry docs
Send your form to https://enquiry.bromputers.co.uk/submit with a hidden access_key field. Every other field is emailed to you as it’s named, in the order it was posted.
Quick start
Your access key is on the form’s Setup tab in the dashboard, with this code already filled in for you. It isn’t a secret: anyone can see it in your page, and the allowed websites and spam checks are what protect the form.
That’s all a working form needs. Add, remove or rename fields as you like: a field called phone_number shows in the email as “Phone number”. Checkboxes that share a name are joined with commas.
Fields
These names steer the submission instead of, or as well as, appearing in the email. They are the same names Web3Forms uses.
| Field | What it does |
|---|---|
access_key | Your form’s access key. Required, unless the key is in the URL (/submit/YOUR_ACCESS_KEY). |
email | The visitor’s address. Shown in the email, used as Reply-To, and where the autoresponder goes. |
name | Shown in the email like any other field. |
subject | The email’s subject line. Otherwise the form’s own subject, or “New submission: form name”. |
from_name | The sender name the email shows. Otherwise the form’s, or “Enquiry”. |
replyto | Reply-To address, if it isn’t the email field. |
redirect | Where to send the visitor after a plain form post. Must be on one of the form’s allowed websites. |
ccemail | Extra addresses to copy, separated by commas. Only addresses already confirmed on your account are used. |
botcheck | The honeypot: a hidden checkbox people never tick. If it is ticked, the submission goes to Spam and the bot is told it worked. The name can be changed per form. |
cf-turnstile-response, h-captcha-response | Added by the Turnstile or hCaptcha widget. Checked when the form has a captcha turned on. |
You can send the form as multipart/form-data (needed for files), application/x-www-form-urlencoded or JSON. A form can have up to 100 fields; each value can be up to 20,000 characters.
Files
Add enctype="multipart/form-data" to the form and a file input with any name:
<form action="https://enquiry.bromputers.co.uk/submit" method="POST" enctype="multipart/form-data">
…
<input type="file" name="attachment" multiple>
</form>
- Accepted: JPEG, PNG, GIF, WebP, HEIC, HEIF, AVIF and PDF. The type is read from the file’s contents, so a renamed program is refused.
- Up to five files per submission by default (you can set up to ten), each up to 10 MB.
- When the files add up to 5 MB or less they are attached to the email. Every file also gets a download link, which works for as long as the form keeps its submissions.
- A refused file stops the submission with a message saying which file and why, so the visitor can fix it.
Spam and captcha
Spam never just disappears. Anything caught waits in the form’s Spam folder, where “Not spam” sends it on as normal. Spam doesn’t count towards your monthly submissions.
- Honeypot. Keep the hidden
botcheckcheckbox from the quick start in your form. - Spam score. Every submission is scored for lots of links, URL shorteners, known spam phrases, throwaway email domains and the same message sent twice in a day.
- Allowed websites. List your domains in the form’s settings and posts from anywhere else are refused. A domain covers its subdomains, so
example.comallowswww.example.com. - Captcha. Pick Cloudflare Turnstile or hCaptcha in the form’s settings and paste your secret key, then add the widget inside your form:
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY"></div>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
The autoresponder only runs on forms with both a captcha and allowed websites, so nobody can use your form to send email to strangers.
Redirects and JavaScript
A plain form post
After a successful post the visitor goes to the page in your redirect field (if it’s on an allowed website), else the form’s own thank-you page from its settings, else our thank-you page. Errors show a short page saying what went wrong, with a link back.
From JavaScript
Send Accept: application/json and you get JSON back instead. Any website can call it (CORS is open); the allowed websites setting still applies.
// 200
{ "success": true, "message": "Email sent successfully!", "body": { "data": { "name": "…", "email": "…" } } }
// 400, 403, 413, 415, 429 or 500
{ "success": false, "message": "This form can only be sent from its own website." }
The message is written for the visitor, so you can show it as it is. The JavaScript, React and Astro tabs in the quick start do exactly that.
Moving from Web3Forms
- Ask for access, and we’ll set up your account and form.
- Change the form’s
actiontohttps://enquiry.bromputers.co.uk/submit/YOUR_ACCESS_KEY. With the key in the URL, the oldaccess_keyfield is ignored, so it’s a one-line change. Or keephttps://enquiry.bromputers.co.uk/submitand swap the key in the hidden field. - Optional: in Web3Forms, export your submissions as CSV, then open the form’s Submissions tab, choose “Import its past submissions” and upload it. Imported enquiries are kept but not emailed again and don’t count towards your plan.
What works differently, on purpose:
redirectmust be on one of the form’s allowed websites, so nobody can use your form to send visitors elsewhere.ccemailonly copies addresses already confirmed on your account.webhooksent from the form is ignored. Webhooks and reCAPTCHA v3 are not available yet (see what’s coming).
Limits
| Submissions | 10,000 a month on the paid plan. Spam and imported enquiries don’t count. |
|---|---|
| Per visitor | 10 submissions a minute from one connection |
| Per form | 60 submissions a minute |
| Files | 10 MB each, up to 5 per submission by default (10 at most) |
| Whole submission | 60 MB |
| Fields | 100 per submission, 20,000 characters each |
| Kept for | Your choice per form, up to a year on the paid plan |
Over a limit, the visitor sees a plain message (status 429 or 413) saying what happened.