EasyMail
2026 · Email Platform · Developer Tools
A self-hosted email platform on Resend — send, receive and track mail for all your projects, with a keyed contact API that lets any website send mail without exposing a mail key.
Overview
EasyMail is a personal email platform I built on top of Resend. It gives every project one place to send, receive and track mail: a threaded inbox, compose and reply with rich text and attachments, and analytics for delivery, opens, clicks and bounces.
Websites send through it with a single API call. In EasyMail I generate an API key for a project and choose which website domains may use it, which address it sends from and where messages are delivered. The site then posts its contact form to the EasyMail contact API with that key, and the message lands in my inbox with the visitor set as the reply-to address. This portfolio's own contact form works this way.
It runs entirely on free tiers — Resend, Vercel and Supabase — with a guard that blocks sends before the daily or monthly limit is reached, and a permanent archive in Postgres because Resend only keeps mail for 30 days.
The Problem
Every small site needs a contact form, and wiring each one to a mail provider means scattering keys, quotas and inboxes across projects. One platform with scoped, revocable keys keeps all of it in one place.
Key Features
- Contact API: one POST with an API key sends a message from any website
- Keys are bound to a project, a From address, a recipient and the website domains allowed to use them; revoke any key instantly
- Threaded inbox, sent mail and conversations, with replies that thread correctly in Gmail
- Compose, reply and forward with rich text and attachments
- Analytics for volume, delivery, bounce, open and click rates, per project
- Free-tier guard that counts sent and received mail and blocks sends before the cap
- Permanent archive of every message and attachment in Postgres and Supabase Storage
- Private admin accounts with signed sessions and sandboxed rendering of incoming HTML
Tech Stack
Next.js, React, Tailwind CSS, Drizzle ORM, Supabase, Resend, Recharts, Tiptap
Links
Next project: NIDAR