Instant disposable email addresses on
@linqmail.com. No signup. No data stored. Choose your session duration.
- 🚀 One-Click Generation — Get a realistic temporary email on
@linqmail.cominstantly - 📬 Live Inbox — Auto-polls for new messages every 10 seconds
- ⏱️ Choosable Duration — Select 5, 10, 15, or 30-minute sessions before generating
- 📖 Message Viewer — Read full email content (HTML rendered safely, supports light/dark contrast)
- 📋 Copy to Clipboard — One click to copy your temp address
- 🔒 Privacy-First — No signup, no tracking, direct browser-to-API communication
- ☀️ Light & Dark Theme — System preference + manual toggling support with brand
#ff5a54accent - More Tools link — Quick access to other tools on
tools.dhirajarya.in
- Framework: Next.js 16+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Icons: Lucide React
- Email API: GrabMail (API Docs)
- Package Manager: Bun
- Analytics: Vercel Web Analytics
# Clone the repository
git clone https://github.com/dhirajaryaa/TempMail.git
cd tempmail
# Install dependencies
bun install
# Start development server
bun devOpen http://localhost:3000 in your browser.
bun run build
bun starttempmail/
├── src/
│ ├── app/
│ │ ├── mail/ # Client-side dynamic /mail route
│ │ │ └── page.tsx
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── page.tsx # Purely static landing page
│ │ ├── robots.ts # SEO Crawler robots config
│ │ └── sitemap.ts # Dynamic sitemap generator
│ ├── components/
│ │ ├── active-session.tsx # Dynamic mailbox lifecycle
│ │ ├── countdown-timer.tsx
│ │ ├── email-display.tsx
│ │ ├── error-boundary.tsx
│ │ ├── footer.tsx # Static footer component
│ │ ├── generate-button.tsx
│ │ ├── header.tsx # Reusable responsive header
│ │ ├── inbox.tsx
│ │ ├── message-viewer.tsx
│ │ ├── static-landing.tsx # Static landing wrapper
│ │ └── theme-toggle.tsx # Light/dark toggle button
│ └── lib/
│ ├── config.ts # Dynamic site domain configuration
│ └── mail-api.ts # GrabMail API service layer
├── PRD.md # Product Requirements Document
├── package.json
└── README.md
User selects duration (5/10/15/30m) & clicks "Generate" on homepage (/)
│
▼
Route to /mail
│
├── LocalStorage check (restores session if active)
└── Fetch grabmail.io/api/v1/mailbox (pick username@linqmail.com)
│
▼
Active Session
│
├── Poll grabmail.io/api/v1/mailbox every 10s directly from browser
├── Click message → Fetch grabmail.io/api/v1/message/{id}
└── Timer counts down
│
▼
Session Expires / Delete Clicked
│
└── Purge storage and redirect back to homepage (/)
- Color Scheme: Zinc light/dark backgrounds with brand accent
#ff5a54(no gradients) - Typography: Geist Sans & Geist Mono (from Next.js)
- Layout: Centered, responsive, mobile-friendly
MIT License — see LICENSE for details.
- Developed by Dhiraj Arya
- Email service powered by GrabMail
- Built with Next.js and Tailwind CSS