A form is markup. The only part needing anything behind it is receiving what somebody typed.

How it works without a server
The form posts to an outside service instead of to your own site. The service records the submission and sends it to you by mail.
Setup is changing the destination in the form and confirming your address once. After that the page is still a static file and there is nothing on your side to maintain.
This is a common way for static sites to handle forms, and it is unremarkable rather than a workaround.
| Approach | What it needs |
|---|---|
| Outside form service | One line in the page |
| Mail link | Nothing, and it fails often |
| Your own server | A server |
| Embedded third-party form | Their styling |
| Booking tool | An account |
Why not a mail link
A link that opens the visitor's mail program assumes there is one configured.
On a work machine it often opens something nobody uses. On a phone it may do nothing. And the visitor now has to compose a message themselves, which some will not.
It also publishes the address for collection. Use a form.
Spam
It can start soon after the form goes live.
A honeypot field. A hidden field that a person never sees and never fills in. Any submission containing it is automated. This alone removes a lot of automated submissions and costs nothing in usability.
The service's filtering. Many form services include some; check what yours offers.
Challenges as a last resort. They work and they cost you real submissions, particularly from people using assistive technology. Add one only if the first two have failed.

Fewer fields
Every extra field can lose people.
Ask for what you need to reply: a name, a way to reach them, and what they want. Company size, job title, budget range and how they heard of you are questions for the conversation, not the gate.
A short form usually loses fewer people than a long one.
Confirm it worked
A submitted form that leaves a blank page or reloads silently makes people submit again, and then assume it is broken.
Show a sentence confirming it arrived and saying when you will reply. It is one line and it is the difference between a submission and a lost enquiry.
What not to put through one
Payment details, health information, anything covered by a regulatory obligation.
Those need an arrangement with the appropriate handling and agreements in place. A general-purpose form service is the wrong place regardless of how the page is hosted.
Closely related: What a static website is, and How to make an email capture page for the adjacent problem.
Put it at an address
Point the form at a service, add a hidden honeypot field, show a real confirmation, ask for the fewest fields you can, and keep regulated data out of it entirely.