# Docs - Docs: Guides, concepts, and recipes - [Overview](/help/guide): Isolated inboxes for E2E tests. Keep the production sender; change only the recipient. - [Quickstart](/help/guide/quickstart): From a new account to a test that reads a real email. - **Concepts** - [Inboxes](/help/guide/inboxes): Temporary inboxes for tests, permanent addresses for everything else. - [Messages](/help/guide/messages): What Mailwurf reads out of an email, and how to pick the link or code a test needs. - [Waiting](/help/guide/waiting): One open request until the mail is there. No sleeps, no polling loops. - [Sending](/help/guide/sending): Send mail from an inbox, to test how your app handles incoming email. - [Transactional mail](/help/guide/transactional): Send receipts and notifications from your app as your own domain. - [Send over SMTP](/help/guide/smtp): Connect an app or tool that sends mail over SMTP, with your API key as the password. - [Limits](/help/guide/limits): Sizes, lifetimes, and quotas. - **Recipes** - [Playwright](/help/guide/playwright): Create an inbox, let the app send normally, wait, then follow the link. - [Cypress](/help/guide/cypress): Call Mailwurf from Cypress tasks, so the API key never reaches the browser. - [Vitest and Node](/help/guide/vitest): Test the emails your backend sends, without a browser. - [CI](/help/guide/ci): Run email tests in GitHub Actions and other pipelines. - [Connect an AI agent (MCP)](/help/guide/mcp): Let Claude Code and other agents create inboxes, wait for mail, and send replies. No API key. - **Help** - [Troubleshooting](/help/guide/troubleshooting): The usual reasons a test does not get its email. - Dashboard: Account, organization, keys, and addresses - [Account](/help/dashboard): Sign up, confirm your email, and sign in to the dashboard. - [Organizations](/help/dashboard/organizations): The boundary for members, API keys, and every inbox. - [API keys](/help/dashboard/api-keys): One key per environment. Shown once, revocable at any time. - [Permanent addresses](/help/dashboard/inboxes): Fixed addresses that keep receiving mail, and the mail view for every inbox. - [Custom domains](/help/dashboard/domains): Receive test mail on a domain you own, and optionally send as it. - @mailwurf/e2e: TypeScript package for tests - [@mailwurf/e2e](/help/e2e): Fetch-only TypeScript package for the mailbox API. Playwright is a consumer, not a dependency. - API: HTTP and OpenAPI reference - [API Reference](/help/api): OpenAPI for the Mailwurf mailbox API. - [HTTP API](/help/api/http): Plain HTTP under /api/v1. @mailwurf/e2e is optional. - [Discovery](/help/api/discovery) - [Inboxes](/help/api/inboxes) - [Messages](/help/api/messages) - [Emails](/help/api/emails)