Postboi is framework-agnostic: read the request’s FormData in a Nitro server route and
hand it straight to mail(). Postboi extracts the special fields and renders the rest into a tidy HTML table.
defineEventHandler, readFormData, and sendRedirect are Nuxt auto-imports. Point a multipart/form-data form at the route. Include hidden _subject and _reply_to fields,
and bind _reply_to to the email (v-model + :value) so replying reaches the sender:
Field names use the fieldset→field syntax. The provider and
default recipient come from postboi.config.ts: a POSTBOI_TOKEN routes to the Postboi provider, or pick any provider.
Or use the Captcha component
postboi/vue ships the spam protection (honeypot plus, on the Postboi provider, the
managed invisible captcha) as a single prop-free component. Your form stays a native <form>; just drop it inside:
The publishable key is baked in by bunx postboi sync. See Spam protection.
Runnable example: examples/nuxt-provider-postboi.