Thunder Mail let's you send emails through any of your account (currently supporting gmail accounts) from your project/website in an easy way. Use Thunder Mail's JavaScript SDK or use the Thunder Mail API directly. Refer the API guide given below.
Everyone can't afford to buy domain for their side projects. I built Thunder Mail with a similar experience to resend but using any of your email account (currently supporting gmail accounts) to send emails. You can use your email accounts for sending emails without Thunder Mail to send emails but Thunder Mail provides you more. It gives you nice dashboard to view the emails you sent.
Thunder Mail is not a replacement for resend or a similar service for a businesses as it needs to send a lot of emails daily whereas most email services have limit of some 500 emails or so. Also a personal domain builds a more trust of a business.
- Next.js – framework
- TypeScript – language
- Tailwind – CSS
- Upstash – redis ratelimiting
- Neon – database
- Lucia Auth – auth
- Vercel – deployments
- AWS SQS queue – queue
- AWS lambda functions - sending emails
Send Email
Endpoint: POST -> https://thundermail.vercel.app/api/v1/emails
Headers: Authorization: Bearer [API_KEY]
Content-Type: application/json
Body Parameters:
1. from -> string (required)
Sender email address.
To include a friendly name, use the format "Your Name <sender@domain.com>".
2. to -> string | string[] (required)
Recipient email address. For multiple addresses, send as an array of strings.
3. subject -> string (required)
Email subject.
4. bcc -> string | string[]
Bcc recipient email address. For multiple addresses, send as an array of strings.
5. cc -> string | string[]
Cc recipient email address. For multiple addresses, send as an array of strings.
6. reply_to -> string | string[]
Reply-to email address. For multiple addresses, send as an array of strings.
7. html string
The HTML version of the message.
8. text string
The plain text version of the message.
Retrive Email
Endpoint: GET -> https://thundermail.vercel.app/api/v1/emails/[email_id]
Headers: Authorization: Bearer [API_KEY]
Content-Type: application/json