Guides
Ship email on any site
Copy-paste guides for the stack you already use. Each one takes about five minutes.
How to send email from a static website (no backend)
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.
Read guideHTML contact form that emails you (copy-paste, no backend)
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.
Read guideAdd a contact form to GitHub Pages
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.
Read guideNext.js contact form with email (App Router)
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.
Read guideAstro contact form that sends email
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.
Read guideReact contact form that sends email (Vite, CRA, any React)
A React contact form component that sends email through your own SMTP account with fetch(): loading and error states, spam protection, no backend.
Read guideUse Gmail SMTP for your website 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.
Read guideUse Zoho Mail SMTP for your website 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.
Read guideNewsletter signup form for a static site
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.
Read guideShip your form in five minutes
Connect the SMTP account you already have, copy one snippet, done. Free, no card.