EmailJS
Send emails directly from client-side JavaScript without a backend server
- Authentication
- API Key
- HTTPS
- Yes
- CORS
- Yes
- Category
- Documentation / URL
- https://www.emailjs.com/docs/
Overview
EmailJS lets you send emails directly from the browser (no backend needed) — connect a mail service (Gmail, Outlook, your SMTP), create a template, and POST to their API. Auth is a free public key plus a service/template ID.
Note (verified 2026-08): the API responds (a GET to a non-existent path returns Express-style 404s) — sending uses
POST /api/v1.0/email/send.
Quick Start
Send via the REST API:
curl -X POST "https://api.emailjs.com/api/v1.0/email/send" \
-H "Content-Type: application/json" \
-d '{
"service_id": "YOUR_SERVICE_ID",
"template_id": "YOUR_TEMPLATE_ID",
"user_id": "YOUR_PUBLIC_KEY",
"template_params": { "to_name": "Alice", "message": "Hello!" }
}'
Or use the JS SDK:
<script src="https://cdn.jsdelivr.net/npm/@emailjs/browser"></script>
<script>
emailjs.send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', { message: 'Hi' }, 'YOUR_PUBLIC_KEY');
</script>
Authentication
- Register at emailjs.com → add an email service (Gmail/Outlook/SMTP) → create a template.
- The public key (
user_id) is safe for client-side use — EmailJS is designed for it.
Rate Limits & Notes
- Free tier: 200 emails/month (check current docs); paid plans scale.
- Emails go through EmailJS servers using your connected service credentials.
- Works with Gmail, Outlook, Yahoo, and custom SMTP.
- Popular for contact forms, password-reset mocks, and static-site email — no backend required.
FAQ
Is EmailJS free? Free tier: 200 emails/month; more is paid.
Is it safe to expose the key? Yes — EmailJS is designed for client-side use with a public key.
What services can I connect? Gmail, Outlook, Yahoo, and custom SMTP.
More in Email
| API | Auth | HTTPS | CORS | |
|---|---|---|---|---|
| AGPC Domain Check Check a domain's SPF, DKIM, DMARC and MX with a graded shareable report | No auth | Yes | Yes | ↗ |
| Atomic Mail Email for AI agents: programmatic inbox creation and send/receive over JMAP | API Key | Yes | Unknown | ↗ |
| Cloudmersive Validate Validate email addresses, phone numbers, VAT numbers and domain names | API Key | Yes | Yes | ↗ |
| Disify Validate and detect disposable and temporary email addresses | No auth | Yes | Yes | ↗ |
| DropMail GraphQL API for creating and managing ephemeral e-mail inboxes | No auth | Yes | Unknown | ↗ |