A premium, privacy-focused disposable email service built with Next.js and Upstash Redis. Features real-time inbox updates, custom domain support, and configurable privacy settings.
- 🛡️ Privacy First: Emails are stored in short-lived Redis keys with auto-expiry.
- ⚙️ Configurable Retention: Users can set email lifespan from 30 minutes to 1 week.
- 🌐 Custom Domains: Bring your own domain via Cloudflare or Mailgun (Manage Domains GUI included).
- ⚡ Real-time: Instant email delivery and inbox updates.
- 🎨 Premium UI: Glassmorphism aesthetic, Dark Mode, and responsive mobile design.
- 📜 History: Locally stored history of generated addresses for quick access.
- 🔗 Pretty URLs: Shareable links like
https://app.com/user@domain.com.
- Incoming Mail: DNS MX Records point to your email routing service (Cloudflare/Mailgun).
- Webhook: The service forwards the raw email to
https://your-app.com/api/webhook. - Processing: The app parses the email, checks user retention settings, and stores it in Upstash Redis.
- Frontend: The Next.js UI polls the API to display emails for the current address.
Clone this repository and deploy it to Vercel.
- Go to the Storage tab in your Vercel Project.
- Click Connect Store and select Upstash Redis from the Marketplace.
- Link it to your project. This will automagically set:
UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN
You need a service to receive SMTP traffic and forward it to your app's webhook.
We include a pre-configured worker in the worker/ directory.
-
Setup Cloudflare:
- Add your domain to Cloudflare.
- Enable Email Routing in the Cloudflare Dashboard.
-
Deploy the Worker:
cd worker npm install # Edit src/index.js -> Update TARGET_URL to your Vercel URL npm run deploy
-
Route Emails:
- In Cloudflare Email Routing > Routes.
- Create a "Catch-All" route.
- Action:
Send to Worker-> Destination:dispomail-forwarder(or whatever you named it).
-
Install Dependencies:
npm install
-
Environment Setup: Create
.env.localand add your Upstash Redis credentials:UPSTASH_REDIS_REST_URL="your-url" UPSTASH_REDIS_REST_TOKEN="your-token"
-
Run Development Server:
npm run dev
MIT License. Feel free to fork and deploy your own private email shield.
