Keep Svelte focused on UI
Svelte is excellent at UI. Contact delivery is a separate problem. FormsReach handles the form API so your component stays a form, not a mail stack.
Platform notes
- Works in pure Svelte apps and SvelteKit.
- Prefer a shared
ContactForm.svelteused across pages. - After submit, you get email and/or WhatsApp based on how you configure delivery.
Troubleshooting
- Nothing arrives: Confirm the hidden
api_keyfield and check spam on Free. - SvelteKit intercepts submit: Use a plain form action pointing at FormsReach, or handle fetch yourself against the same endpoint.
- Wrong fields: Ensure each input has a
nameattribute.