MoeMail
Temporary email on your own domains, with expiring mailboxes, webhooks and an API, running on Cloudflare Pages, D1 and Email Workers
MoeMail homepage with the four feature cards and the sign-in button
MoeMail hands out temporary addresses on domains the site owner controls. A mailbox lasts 1 hour, 24 hours, 3 days or for good, a scheduled Worker deletes expired mailboxes with their mail, and an open inbox updates as messages arrive. Users sign in with GitHub or Google, and the site owner uses roles to decide who can create mailboxes, set up webhooks or get API keys. The interface comes in English and Chinese.
Mail reaches MoeMail through Cloudflare Email Routing. A catch-all rule on each domain hands messages to an Email Worker, which stores the ones sent to existing mailboxes in D1 and drops the rest. Sending from a temporary address goes through Resend, with an API key the site owner enters and a daily limit for each role. Mailboxes and single messages can be shared through links. There are four roles. The first person to open /api/roles/init-emperor becomes the Emperor, the owner with every permission, who sets the default role for new users and promotes others. Dukes can also create API keys, Knights can use mailboxes and webhooks, and Civilians can do nothing until they are promoted. A webhook posts each new message to a URL, and the OpenAPI covers creating mailboxes, reading messages and managing share links. A CLI built on that API lets scripts and AI agents create an address, wait for a message and read it. The site is a Next.js app on Cloudflare Pages, with one Worker that receives mail and one that runs the cleanup on a schedule. After the repository is cloned and .env is filled in, a single deploy script creates the D1 database, the KV namespace for site settings and the Pages project, runs the migrations, uploads the secrets and deploys all three parts.
Built for: People and small teams who want throwaway addresses on their own domain, and developers who test sign-up and password-reset emails
An alternative to: 10 Minute Mail, Guerrilla Mail, Mailinator, Temp Mail
What you can use it for
- Sign up for newsletters, trials and downloads without giving out a real address
- Hand out throwaway addresses on your own domain to a team
- Catch verification codes in test scripts or AI agents through the API or CLI
- Pass new mail on to a chat or another tool with webhooks
Deploy
CLI
Fill CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, AUTH_SECRET and the GitHub or Google OAuth app in .env first. The script creates the D1 database, KV namespace and Pages project, runs the migrations and deploys the site with its email and cleanup Workers.
git clone https://github.com/beilunyang/moemail.git cd moemail pnpm install cp .env.example .env pnpm dlx tsx ./scripts/deploy/index.ts
The script needs a Cloudflare API token and a GitHub or Google OAuth app. Afterwards, Email Routing needs a catch-all rule to the email-receiver Worker, and the domains go into the profile page.
What it needs to run
- D1 databasesmoemail
- KV namespacesSITE_CONFIG
Good to know
Whoever opens /api/roles/init-emperor first becomes the site owner, so claim it right after deploying. Sign-in needs a GitHub or Google OAuth app. Mail only arrives at mailboxes that already exist; messages to other addresses are dropped. Sending needs a Resend account with a verified domain. The shortest mailbox lifetime is one hour. The site builds with @cloudflare/next-on-pages, which Cloudflare has deprecated and archived. The Deploy to Cloudflare button in the README does not produce a working install; the deploy script does.
Cost on Cloudflare
Likely fits the free plan
Pages, D1, KV, the Email Worker and the scheduled cleanup Worker all fit within Workers Free, and Email Routing costs nothing. Sending mail goes through Resend, which bills separately and has a free plan.
The estimate is based on Cloudflare’s documented limits and the app’s configuration. What you pay depends on your usage and plan.
Where this comes from
- Repositoryhttps://github.com/beilunyang/moemail
- App websitehttps://moemail.app
- Documentationhttps://docs.moemail.app
Listing history
- Oct 9, 2026 · MoeMail listed
Similar apps
All Email apps
Multi-mailbox email service for your own domain on Cloudflare Workers, with webmail, an admin console and Resend sending
- Deploy
- Manual
- License
- MIT
- GitHub stars
- 14.8k stars
- Last commit

Open-source web inbox for your own domain, with an AI agent that drafts replies and sends only after you confirm
- Deploy
- One-click
- License
- Apache-2.0
- GitHub stars
- 8.4k stars
- Last commit

Self-hosted webmail for your own domains, with routing rules, a calendar and an AI assistant whose drafts need approval
- Deploy
- One-click
- License
- AGPL-3.0
- GitHub stars
- 5.1k stars
- Last commit
