{"slug": "show-hn-give-your-agent-its-own-temp-mail-service", "title": "Show HN: Give your agent its own temp mail service", "summary": "Developer shbernal released buzon, an open-source CLI for self-hosted cloudflare_temp_email instances that creates tiered temporary addresses, waits for verification codes or magic links, and keeps a local registry mapping each address to its site and account. The tool offers three address tiers — `ste` for a single code, `mte` for a few weeks, and `lte` for a real account — with the instance auto-deleting expired short-lived addresses, and it ships an agent skill installable via `npx skills add shbernal/buzon` that teaches an AI agent which tier to pick and how to retrieve a code. buzon installs with `bun add -g @shbernal/buzon` or as a standalone binary for linux-x64, linux-arm64, darwin-x64 and darwin-arm64, reads passwords from `BUZON_SITE_PASSWORD` and `BUZON_ADMIN_PASSWORD` or the system keyring, and supports `--json` on every command.", "body_md": "buzon is a CLI for a self-hosted [cloudflare_temp_email](https://github.com/dreamhunter2333/cloudflare_temp_email)\ninstance, a mail server that runs on a Cloudflare Worker with D1.\nIt creates addresses on your domain, waits for the verification code or magic link, and keeps\na local record of which address belongs to which account.\n\n- Three tiers in the address name: `ste` for one code,`mte` for a few weeks,`lte` for a real\naccount. The instance deletes expired ones by itself.\n- `wait --code` and`wait --link` print just the code or the link, ready for a script or an\nagent.\n- A local registry of every address with its site and note, so \"which address did I use for GitHub?\" has an answer.\n- A first install in one command, then deploys and upgrades of the upstream release, with every database patch shown and confirmed.\n- An agent skill that tells an AI agent when to pick each tier and how to get a code.\n\nPublic temp-mail services are blocked by most sign-up forms, and their inboxes are readable by anyone who guesses the name. A catch-all on your own domain avoids both, but turns into a pile of addresses nobody remembers. buzon puts a lifetime on each address, cleans up the short ones, and records the long ones.\n\nWith [Bun](https://bun.sh):\n\n```\nbun add -g @shbernal/buzon\n```\n\nOr as a standalone binary, with no Bun needed, for `linux-x64`, `linux-arm64`, `darwin-x64` or\n`darwin-arm64` from the [latest release](https://github.com/shbernal/buzon/releases/latest):\n\n```\ncurl -fsSL https://github.com/shbernal/buzon/releases/latest/download/buzon-linux-x64.tar.gz | tar -xz -C ~/.local/bin\n```\n\nbuzon reads its passwords from `BUZON_SITE_PASSWORD` and `BUZON_ADMIN_PASSWORD`, or else from\nthe keyring: the Secret Service through `secret-tool` on Linux, the Keychain on macOS.\n\nNo instance yet? [docs/deploying.md](https://github.com/shbernal/buzon/blob/main/docs/deploying.md) goes from a domain on Cloudflare to a\nrunning one, mostly through `buzon init --deploy`.\n\n1. \nStore the instance's site password in the keyring, on Linux: \n\n```\nsecret-tool store --label=\"buzon site-password\" service buzon key site-password\n```\n\n On macOS: \n\n```\nsecurity add-generic-password -s buzon -a site-password -w\n```\n\n Elsewhere, export `BUZON_SITE_PASSWORD` instead.\n2. \nPoint buzon at the instance. It checks that the instance answers, serves the domain and accepts the password before writing anything: \n\n```\nbuzon init --url https://mail.example.com --domain example.com\n```\n\n3. \nCreate a one-shot address and use it on a sign-up form: \n\n```\nbuzon new ste\n```\n\n4. \nWait for the code, then delete the address: \n\n```\nbuzon wait ste-2610-9qa --code --since 10m\nbuzon delete ste-2610-9qa\n```\n\nFor an account you will come back to, keep the address and say what it is for:\n\n```\nbuzon new lte --site github --note \"GitHub account for side projects\"\n```\n\n| Command | Does | \n|---|---|\n| `new <ste\\|mte\\|lte>` | Create an address, with `--site` and`--note` | \n| `new custom <name>` | Create an address with a name you choose, such as `jane` | \n| `wait <address>` | Wait for new mail and print its `--code` ,`--link` or text | \n| `read <address>` | Print the latest mail, `--all` , or one`--id` | \n| `list` ,`show <address>` | Registry entries, filtered by `--tier` or`--site` | \n| `note` ,`delete` ,`adopt` | Edit, remove, or take in an address made elsewhere | \n| `init --deploy` | First install: database, schema, secrets and release | \n| `secrets push` | Put the passwords and the JWT secret on the Worker | \n| `deploy` ,`upgrade` ,`export-db` | Ship a release, move to a newer one, dump the database | \n\nEvery command takes `--json`. `buzon --help` lists every command and flag.\n\n[`skills/buzon`](https://github.com/shbernal/buzon/blob/main/skills/buzon/SKILL.md) teaches an agent to pick the tier, get a code or link,\nand find an address again later. Install it with:\n\n```\nnpx skills add shbernal/buzon\n```\n\nA test fails the build when the skill names a command or flag the CLI does not have.\n\nCloudflare Email Routing hands every message for your domain to the Worker, which stores it in D1.\nA daily cron deletes expired `ste` and `mte` addresses by the tier in their name.\nbuzon talks to the Worker over its HTTPS API, and keeps the registry of sites and notes on your\nmachine only.", "url": "https://wpnews.pro/news/show-hn-give-your-agent-its-own-temp-mail-service", "canonical_source": "https://github.com/shbernal/buzon", "published_at": "2026-11-13 08:11:48+00:00", "updated_at": "2026-11-13 08:20:38.502856+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools"], "entities": ["buzon", "shbernal", "cloudflare_temp_email", "Cloudflare Workers", "Cloudflare D1", "Bun", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-give-your-agent-its-own-temp-mail-service", "markdown": "https://wpnews.pro/news/show-hn-give-your-agent-its-own-temp-mail-service.md", "text": "https://wpnews.pro/news/show-hn-give-your-agent-its-own-temp-mail-service.txt", "jsonld": "https://wpnews.pro/news/show-hn-give-your-agent-its-own-temp-mail-service.jsonld"}}