Skip to content

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.

Source

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

Listing history

  • Oct 9, 2026 · MoeMail listed

Similar apps

All Email apps
  • Cloud Mail inbox with the mailbox list, received messages and the admin account menu, in Chinese

    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
  • Agentic Inbox with a threaded inbox, a draft reply awaiting Send, and the Email Agent panel logging auto-drafts

    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
  • Mailflare inbox under a custom brand name, with an open message and the compose window

    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