Safe in front-end code
Lock each key to your websites, to fixed recipients and to an hourly limit. A leaked key can only ever email you.
- Allowed websites
- Allowed recipients
- Hourly limit
- Spam honeypot
Turn your Gmail, Zoho or any SMTP into an email API. Contact forms, signups and scheduled emails, with no backend.
Hi! I'm interested in your product. Can you share more details?
Reply goes straight to ana@example.comWorks with the email provider you already have
Get started
No server, no build step, no SDK. If you can paste HTML, you can ship this.
Pick your provider and the server settings fill themselves in. Test the connection in one click.
Every site gets its own endpoint and key, with ready-made code for HTML, JavaScript and more.
<form action=".../form/KEY">
Messages land in your inbox from your own address. Every send shows up in the logs.
<form action="https://app.formsmtp.com/api/v1/form/YOUR_KEY" method="POST">
<input name="name" placeholder="Your name" required>
<input name="email" type="email" placeholder="you@example.com" required>
<textarea name="message" placeholder="Message" required></textarea>
<button>Send</button>
</form>await fetch("https://app.formsmtp.com/api/v1/send", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "you@yourdomain.com",
replyTo: form.email.value,
subject: "New message from " + form.name.value,
text: form.message.value,
}),
});await fetch("https://app.formsmtp.com/api/v1/send", {
method: "POST",
headers: { "Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
to: "ana@example.com",
template: "Welcome", // designed in the visual builder
variables: { first_name: "Ana" },
}),
});curl -X POST https://app.formsmtp.com/api/v1/send \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"you@yourdomain.com","subject":"Hello","text":"It works!"}'Everything included
Start with a contact form. Grow into templates, contacts and scheduled emails, all in the same dashboard, on every plan.
Lock each key to your websites, to fixed recipients and to an hourly limit. A leaked key can only ever email you.
Brand colors, logo, buttons and images, with live desktop and mobile previews.
Signup forms add people automatically. Tag them, add fields, import CSV.
Send now, later, or every day, week or month in any timezone.
Every email with its status and the exact SMTP error. Try real requests from the dashboard.
SPF, DKIM and DMARC at a glance, plus one-click unsubscribe on bulk email.
Savings calculator
Others charge per submission because they pay to send your email. You bring the SMTP, so we don't.
Cheapest plan that covers the volume, from public pricing pages (October 2026). Founding members pay $0 up to 10,000 emails a month.
Pricing
For a portfolio or a side project.
First 2,000 users. Free forever.
For freelancers and growing products.
For agencies running many client sites.
Every plan sends through your own SMTP account, so your provider's sending limits still apply. Paid plans open for upgrades soon; start free today and keep your setup. Compare every plan
Compare
| FormSMTP | Formspree | EmailJS | Web3Forms | Getform | |
|---|---|---|---|---|---|
| Free emails / month | 1,00010,000 for founding members | 50 | 200 | 250 | 25 |
| Cheapest paid plan | $5/mo50,000 emails | $15/mo200 submissions | $9/mo2,000 requests | $12/moyearly, 20,000 | $16/mo1,000 submissions |
| Sends from your own SMTP | Every plan | Business plan only | Yes | Not listed | Grow plan ($41) and up |
| Templates, contacts & scheduling | Included | Partial | Templates only | No | No |
Competitor figures from their public pricing pages, October 2026. Prices change; check before you decide.
Built for
A contact form that emails you, with the visitor as reply-to. Ten lines of HTML.
Contact form guide 02Collect signups into contacts with tags, then email them on a schedule.
Signup form guide 03Welcome emails, receipts and password resets from templates over one API call.
Next.js guide 04A project per client, each with its own SMTP account, key, limits and logs.
Agency planFAQ
Yes, and that is the point. FormSMTP sends through the account you already trust: Gmail, Google Workspace, Outlook, Zoho, your host, or a service like Amazon SES, Brevo or Resend. Your sender reputation stays yours and nobody else shares your IP.
Yes. The first 2,000 accounts get 10,000 emails a month at $0, forever. It's applied automatically when you sign up, and the offer closes once the spots are gone. Everyone else still gets 1,000 emails a month free.
Yes. Form submissions always go to your own inbox, and you can restrict a project to your website, to fixed recipients and to an hourly limit. Even if someone copies the key, it can only send to you, slowly.
Anywhere you can add an HTML form or a fetch() call. There is no backend to deploy: the form posts straight to FormSMTP, which sends through your SMTP account.
The email is logged as failed with the exact error from your provider (wrong password, sending limit, and so on), so you can fix it in a minute. The dashboard shows a connection health check.
Passwords and API keys are encrypted at rest with AES-256-GCM, decrypted only in memory to send your email, and never shown back in the dashboard.
Limited-time offer
Only for the first 2,000 users. 2,000 spots left.