# FormSMTP > FormSMTP is an email API and form backend for static websites that sends through the user's own SMTP account (Gmail, Google Workspace, Outlook, Zoho, Amazon SES, Brevo, Resend, Mailgun or any SMTP server). No backend is needed: a plain HTML form or one fetch() call sends email. - Free plan: 1,000 emails/month, 3 projects. Limited-time offer: the first 2,000 accounts get 10,000 emails/month free for their first 12 months (founding members). - Pro: $5/month for 50,000 emails. Agency: $15/month for 250,000 emails. - HTML form endpoint: POST https://app.formsmtp.com/api/v1/form/ (fields are emailed to the project owner; _subject, _next, _replyto and a _gotcha honeypot are supported). - JSON API: POST https://app.formsmtp.com/api/v1/send with "Authorization: Bearer " and to, subject, html/text or template + variables. - Includes a visual email template builder, contacts with tags and CSV import, scheduled and recurring emails with unsubscribe handling, and send logs. - MCP server for AI assistants: https://app.formsmtp.com/mcp (OAuth or an AI key). Claude, ChatGPT, Claude Code, Cursor, VS Code and Windsurf can send email, manage templates and contacts, schedule sends and check deliverability. ## Docs - [Full API reference for LLMs](https://formsmtp.com/llms-full.txt): every endpoint, field and error code in one file - [Documentation](https://formsmtp.com/docs): form endpoint, send API, templates, contacts, errors, SMTP settings - [MCP server for AI assistants](https://formsmtp.com/mcp): connect FormSMTP to Claude, ChatGPT, Cursor and VS Code - [Pricing](https://formsmtp.com/pricing) - [SMTP settings for every provider](https://formsmtp.com/smtp-settings): host, port and login for Gmail, Outlook, Zoho, SES, Brevo, SendGrid, Resend, Mailgun and more ## Guides - [How to send email from a static website (no backend)](https://formsmtp.com/guides/send-email-from-static-website): Four ways to send email from a static site on GitHub Pages, Netlify or Vercel, and the simplest: an HTML form that sends through your own SMTP. With code. - [HTML contact form that emails you (copy-paste, no backend)](https://formsmtp.com/guides/html-contact-form): A styled HTML contact form that emails you through your own SMTP account. No JavaScript or server needed, with spam protection and a thank-you page. - [Add a contact form to GitHub Pages](https://formsmtp.com/guides/github-pages-contact-form): GitHub Pages only serves static files. Add a working contact form to a GitHub Pages or Jekyll site that emails you through your own SMTP account. - [Next.js contact form with email (App Router)](https://formsmtp.com/guides/nextjs-contact-form): Send email from a Next.js contact form with a Server Action or a client component, through your own SMTP. App Router TypeScript code, static export too. - [Astro contact form that sends email](https://formsmtp.com/guides/astro-contact-form): Add a working contact form to an Astro site, static or SSR, that emails you through your own SMTP account. Plain HTML or an inline success message. - [React contact form that sends email (Vite, CRA, any React)](https://formsmtp.com/guides/react-contact-form): A React contact form component that sends email through your own SMTP account with fetch(): loading and error states, spam protection, no backend. - [Use Gmail SMTP for your website contact form](https://formsmtp.com/guides/gmail-smtp-contact-form): Send website form emails through Gmail or Google Workspace: create an App Password, SMTP settings (smtp.gmail.com, 465, SSL), limits and common fixes. - [Use Zoho Mail SMTP for your website contact form](https://formsmtp.com/guides/zoho-smtp-contact-form): Send website form emails from your own domain with Zoho Mail: SMTP settings by region (smtp.zoho.com, .eu, .in), app-specific passwords and fixes for common errors. - [Newsletter signup form for a static site](https://formsmtp.com/guides/newsletter-signup-form): Collect newsletter or waitlist signups on a static site into contacts, then email them on a schedule through your own SMTP, with unsubscribe built in. - [How to send email from JavaScript (no backend)](https://formsmtp.com/guides/send-email-from-javascript): Browsers can’t speak SMTP. Send email from client-side JavaScript with one fetch() call through your own SMTP account, without exposing your password. - [Vue contact form that sends email (Vue 3 & Nuxt)](https://formsmtp.com/guides/vue-contact-form): A Vue 3 contact form component (script setup) that emails you through your own SMTP account: loading and error states, spam protection, Nuxt setup. - [Svelte & SvelteKit contact form that sends email](https://formsmtp.com/guides/svelte-contact-form): A Svelte 5 contact form with runes, or a SvelteKit form action that keeps your key on the server. Emails you through your own SMTP account. - [Hugo contact form that sends email (no backend)](https://formsmtp.com/guides/hugo-contact-form): Add a working contact form to a Hugo site with a partial and shortcode, a thank-you page and spam protection. Emails you through your own SMTP account. - [Contact form on Vercel or Netlify (no functions)](https://formsmtp.com/guides/vercel-netlify-contact-form): Add a contact form to a static site on Vercel or Netlify without serverless functions or Netlify Forms. Emails come from your own address via your SMTP. - [Outlook & Microsoft 365 SMTP for a website contact form](https://formsmtp.com/guides/outlook-smtp-contact-form): Microsoft 365 SMTP settings for website forms (smtp.office365.com, port 587, STARTTLS), why Outlook.com accounts no longer work, and the 2026 deadline. - [Use Amazon SES SMTP for your website contact form](https://formsmtp.com/guides/amazon-ses-smtp-contact-form): Send website form email through Amazon SES: SMTP credentials, email-smtp.[region].amazonaws.com on port 587 or 465, leaving the sandbox, and fixes. - [Use Brevo SMTP for your website contact form](https://formsmtp.com/guides/brevo-smtp-contact-form): Brevo SMTP settings for website forms: smtp-relay.brevo.com, port 587 or 465, your SMTP login and an SMTP key (not the API key), plus common fixes. - [Use SendGrid SMTP for your website contact form](https://formsmtp.com/guides/sendgrid-smtp-contact-form): Twilio SendGrid SMTP settings for website forms: smtp.sendgrid.net, port 587 or 465, username "apikey" and an API key as the password, plus fixes. - [Use Resend SMTP for your website contact form](https://formsmtp.com/guides/resend-smtp-contact-form): Resend SMTP settings for website forms: smtp.resend.com, port 465 (SSL) or 587 (STARTTLS), username "resend" and your API key as the password. - [Use Mailgun SMTP for your website contact form](https://formsmtp.com/guides/mailgun-smtp-contact-form): Mailgun SMTP settings for website forms: smtp.mailgun.org (US) or smtp.eu.mailgun.org (EU), port 587, and per-domain SMTP credentials. - [Use Hostinger email SMTP for your website contact form](https://formsmtp.com/guides/hostinger-smtp-contact-form): Hostinger email SMTP settings for website forms: smtp.hostinger.com, port 465 (SSL) or 587 (STARTTLS), your full address and mailbox password. ## Comparisons - [Formspree alternative](https://formsmtp.com/alternatives/formspree) - [Emailjs alternative](https://formsmtp.com/alternatives/emailjs) - [Web3forms alternative](https://formsmtp.com/alternatives/web3forms) - [Getform alternative](https://formsmtp.com/alternatives/getform)