A disposable email inbox that lives in your browser toolbar. Open the popup and you already have an address — no signup, no waiting, no tab switching.
Built on mail.tm. Chrome / Edge / Brave / any Chromium browser (Manifest V3).
- Instant address. The first time you open the popup, a throwaway mailbox is created and stored. It stays yours across popup closes and browser restarts.
- One-click copy. Click the address to copy it.
- Live inbox. Messages arrive on their own — the popup polls every 6s, and a background alarm keeps an unread count on the toolbar badge while the popup is closed.
- Two ways to read. A compact reader in the popup, or a full-page two-pane inbox for long emails.
- Safe rendering. Message bodies render inside a sandboxed
<iframe>with scripts disabled, so email JS never runs and email CSS can't leak into the UI. - Attachments. Listed with size, downloadable through the extension.
- Burn it. The shuffle button releases the current address and provisions a new one.
Monochrome UI, no gradients, no color.
- Download the extension zip from the Releases page and unzip it.
- Open
chrome://extensions. - Turn on Developer mode (top right).
- Click Load unpacked and select the unzipped folder.
- Pin InboXo to the toolbar.
| Action | How |
|---|---|
| Copy the address | Click the address pill |
| New address | Shuffle button next to the address |
| Refresh now | Refresh button above the list |
| Open full page | Expand icon in the popup header |
| Open one message full page | Expand icon in the popup's message header |
| Move through the inbox (full page) | ↑ / ↓ |
| Close a message (full page) | Esc |
The full page also accepts a deep link: tabs/inbox.html?id=<messageId>.
- This is public mail. mail.tm addresses are throwaway and unauthenticated by design — treat every message as readable by anyone who learns the address. Never use it for anything that matters.
- The address is not permanent. mail.tm reclaims idle accounts, and the shuffle button deletes the current one on purpose.
- Remote images load. Emails render in a sandboxed frame with images enabled, so tracking pixels will fire, exactly like a normal mail client.
- Credentials for the generated mailbox live in
chrome.storage.localso the session can be restored. Nothing is sent anywhere exceptapi.mail.tm.
pnpm install
pnpm dev # then load build/chrome-mv3-dev as an unpacked extension
pnpm build # production build -> build/chrome-mv3-prod
pnpm package # zip for release -> build/chrome-mv3-prod.zipOnly chrome-mv3 is tested. Other Plasmo targets (pnpm build --target=firefox-mv2) will build but the badge and popup APIs have not been checked there.
src/
api.ts typed mail.tm client
background.ts alarm poll -> unread badge
popup.tsx 400x560 popup
tabs/inbox.tsx full-page two-pane inbox
hooks/use-mailbox.ts provisioning, polling, read/delete state
hooks/use-copy.ts clipboard + toast
lib/mailbox.ts storage, token refresh, cross-surface sync
lib/format.ts dates, names, sizes
components/ address card, list, reader, brand, toasts
assets/
icon-<n>x<n>.svg|.png per-size monochrome icons (16/32/48/64/128)
icon.svg|.png 512px master / fallback
Icons are authored as SVG and rasterized to PNG per size; Plasmo only consumes PNGs named icon-<n>x<n>.
| Permission | Why |
|---|---|
storage |
remember the mailbox between sessions |
alarms |
poll for mail while the popup is closed |
clipboardWrite |
copy the address |
https://api.mail.tm/* |
the only host the extension talks to |
Plasmo · React 18 · TypeScript · Tailwind CSS · react-hot-toast · mail.tm