# Mailway > Mailway (mailway.net, by Mailway Ltd. of Budapest, Hungary) is an email gateway for transactional mail that answers one question: what exactly did your app send? It sits between your app and the email provider accounts you already own (bring your own keys), keeps a byte-for-byte, searchable copy of every email (a Sent folder for your app), shows what happened to each one across providers (delivery history), and can issue a signed proof-of-delivery certificate that verifies offline with standard tools. If a provider refuses a mail, it fails over to the next. One SMTP relay, or the HTTP API. EU-hosted. Mailway is in private beta, and we onboard teams one at a time. Join the waitlist at https://mailway.net/#waitlist. **When to use Mailway.** Your app sends transactional mail (receipts, password resets, invoices, alerts) through one or more email provider accounts you already have, and someone needs to answer “What exactly did we send, and what happened to it?” Mailway is the right tool when you need to: - keep an exact copy of every mail your app sends, searchable by your team, with its delivery history across providers; - read every mail your app sends, including mail a coding agent wrote, in the sandbox before your customers get it (steps and a prompt for coding agents: https://mailway.net/docs/ai-setup); - show a customer, an auditor, or a lawyer what was sent and what happened to it, with a signed proof-of-delivery certificate (Business and up); - keep mail moving when a provider refuses it, by failing over to your next provider account (Pro and up); - change or add providers without changing your app's code. **How to call it.** There is no API for creating an account, a project, or a credential. A person on the team creates them in the console at https://console.mailway.net, where the guided setup (https://console.mailway.net/get-started) is the fastest route. - SMTP, the usual path: set your mailer's host to `smtp.mailway.net` and the port to 587 (STARTTLS), with an SMTP credential from the project's **Access** section (SMTP username `mw_user_…`, SMTP password `mw_pass_…`). Mailway listens on seven ports in all, and the other six are listed at https://mailway.net/docs/quickstart#ports. The `250` that answers the message itself (`250 2.0.0 Received as …`) means Mailway received the mail. It doesn't yet mean a provider accepted it. - HTTP API: `POST https://api.mailway.net/v1/send` with `Authorization: Bearer mw_live_…` and a JSON body. The `202` answer means Mailway received the mail, and it carries the mail ID. Send an `Idempotency-Key` header, so a retried request returns the first answer instead of creating a second mail. Errors from a `POST` to the send endpoints are JSON, `{"error": {"type": "…", "code": "…", "message": "…"}}`: branch on `error.code`. A `422` also lists each failing field in `error.details`. After a `429` with a `Retry-After` header, wait that long. A `429` with the code `daily_send_cap_exceeded` lasts until 00:00 UTC. The contract is https://mailway.net/openapi.yaml. - Testing: the sandbox captures mail. Mailway keeps it and sends nothing to a provider unless someone releases it in the console. Use `smtp.mailway.dev` with the same SMTP credential, or `api.mailway.dev` with a test key (`mw_test_…`). **When Mailway is the wrong tool.** - You have no email provider account. Mailway sends through provider accounts you bring (for example Amazon SES, SendGrid, or Postmark). It is not a provider. - You need to receive mail. Mailway handles only the mail your app sends. It has no inbound address or mailbox, and replies go wherever your mail's From or Reply-To points. - You need campaign tools: contact lists, segments, or a campaign editor. Mailway has none of these. It is built for the mail your app sends, and a newsletter your own system builds goes through it like any other mail. ## Start here - [Mailway documentation](https://mailway.net/docs): Mailway keeps an exact copy of every email your app sends and shows what happened to each one, and if a provider refuses a mail, it sends it through the next. - [Concepts](https://mailway.net/docs/concepts): The five objects Mailway is built on. Teams, projects, providers, credentials, and mail. - [SMTP quickstart](https://mailway.net/docs/quickstart): Point your app at smtp.mailway.net and send your first mail in five minutes. - [Set up with a coding agent](https://mailway.net/docs/ai-setup): Have Cursor, Claude Code, or another coding agent move your app's mail onto Mailway, list every mail the app sends, and send preview builds to the sandbox. ## Sending - [SMTP relay](https://mailway.net/docs/smtp): The full SMTP surface. Ports, TLS, authentication, and exactly what Mailway does (and never does) to your message. - [HTTP API](https://mailway.net/docs/api/send): POST /v1/send, the send endpoint. JSON in, a 202 and a mail ID out, with idempotency, batching, scheduling, and per-message provider routing. - [Sandbox](https://mailway.net/docs/sandbox): Capture mail with its full timeline and deliver nothing, then release the one that turned out to be real, or discard the rest. ## Providers - [Bring your own keys (BYOK)](https://mailway.net/docs/providers): Add your provider accounts, attach them to projects, and choose how sends are routed and fail over. - [What providers change](https://mailway.net/docs/providers/what-providers-change): What each provider changes in the delivered copy, tested in 2026 Q3 by sending the same messages through each one — headers, tracking, footers, and DKIM. - [Amazon SES](https://mailway.net/docs/providers/amazon-ses): Attach SES to Mailway with credentials, plus the configuration-set and SNS wiring that lights up real delivery events. - [Brevo](https://mailway.net/docs/providers/brevo): Attach Brevo to Mailway with an API key and an SMTP key, then point a Brevo transactional webhook at Mailway for real delivery events. - [Elastic Email](https://mailway.net/docs/providers/elastic-email): Attach an Elastic Email account to Mailway over SMTP with an Elastic Email SMTP credential. - [Mailgun](https://mailway.net/docs/providers/mailgun): Attach a Mailgun account to Mailway (its raw-MIME API, SMTP, or both), then point Mailgun's webhooks at Mailway for real delivery events. - [MailerSend](https://mailway.net/docs/providers/mailersend): Attach MailerSend to Mailway with an API token and an SMTP user, then point a MailerSend webhook at Mailway for real delivery events. - [Mailjet](https://mailway.net/docs/providers/mailjet): Attach Mailjet to Mailway with one API key pair for both SMTP and the API, then point Mailjet's event notifications at Mailway for real delivery events. - [Mailtrap](https://mailway.net/docs/providers/mailtrap): Attach Mailtrap to Mailway with one API token for both transports, plus a two-minute webhook that lights up real delivery events. - [Mandrill](https://mailway.net/docs/providers/mandrill): Attach Mandrill (Mailchimp Transactional) to Mailway with one API key for both its API and SMTP, then point a Mandrill webhook at Mailway for real delivery events. - [Microsoft 365](https://mailway.net/docs/providers/microsoft-365): Attach a Microsoft 365 (Exchange Online) mailbox to Mailway over SMTP, and plan for its sending limits and the December 2026 change to password sign-in. - [Nuntly](https://mailway.net/docs/providers/nuntly): Attach Nuntly to Mailway with one API key for both SMTP and the API, then point a Nuntly webhook at Mailway for real delivery events. - [Postmark](https://mailway.net/docs/providers/postmark): Attach Postmark to Mailway with one Server API token for both transports, then point a Postmark webhook at Mailway for real delivery events. - [Resend](https://mailway.net/docs/providers/resend): Attach Resend to Mailway with one API key for both SMTP and the API, then point a Resend webhook at Mailway for real delivery events. - [SendGrid](https://mailway.net/docs/providers/sendgrid): Attach SendGrid to Mailway with one API key for both transports, then point its Event Webhook at Mailway for real delivery events. - [SMTP2GO](https://mailway.net/docs/providers/smtp2go): Attach SMTP2GO to Mailway with an API key and an SMTP user, then point an SMTP2GO webhook at Mailway for real delivery events. - [SparkPost](https://mailway.net/docs/providers/sparkpost): Attach a SparkPost (Bird) account to Mailway over SMTP with an API key, and see what SparkPost changes in the delivered copy. - [Zoho ZeptoMail](https://mailway.net/docs/providers/zeptomail): Attach a Zoho ZeptoMail Mail Agent to Mailway over SMTP with its Send Mail token. ## Events & deliverability - [Deliverability (SPF, DKIM, DMARC)](https://mailway.net/docs/deliverability): Why mail lands or doesn't, and where domain authentication lives when Mailway relays through your own provider. - [Webhooks](https://mailway.net/docs/webhooks): Seven lifecycle events, HMAC-SHA256 signatures with a timestamp, automatic retries. - [Suppressions](https://mailway.net/docs/suppressions): Per-project do-not-send lists, filled automatically by bounces and complaints, enforced on every send path. ## Automation - [Rules](https://mailway.net/docs/rules): when / if / then. Tag, route, pause, reject, or copy (BCC) mail as it arrives in your projects. ## Trust - [Share links & proof of delivery](https://mailway.net/docs/notary): Show anyone exactly what was sent, and prove it with a tamper-evident certificate. - [Data retention](https://mailway.net/docs/retention): How long Mailway keeps your mail content, what gets deleted when the window closes, and what stays on record for the life of your account. - [Before you go live](https://mailway.net/docs/production-checklist): The questions to settle before production mail goes through Mailway, each with its answer and the page that has the detail. Where the answer is “not yet”, it says so. ## Reference - [Plans & add-ons](https://mailway.net/docs/plans): What each Mailway tier includes, which features start on which tier, and the add-ons that extend any plan. - [Authentication & API keys](https://mailway.net/docs/api/auth): mw_live_ and mw_test_ bearer keys. Creating, scoping, storage, and the host binding that keeps live keys off the sandbox. - [Errors](https://mailway.net/docs/api/errors): Every error code the HTTP API returns, each with its cause and its fix. - [Troubleshooting](https://mailway.net/docs/troubleshooting): Find your symptom, understand what it means, and fix it. Covers connection and auth errors, stuck mail, bounces, quotas, fidelity, and webhooks. - [554 Recipient count exceeds 50 (Amazon SES)](https://mailway.net/docs/troubleshooting/ses-recipient-limit): Why SES rejects a message after DATA even when the envelope is under 50, and what Mailway does about it. - [Limits & quotas](https://mailway.net/docs/limits): Every cap in one place. Plan quotas, message limits, rate limits, and what happens when you hit each one. ## Optional - [OpenAPI specification](https://mailway.net/openapi.yaml): the machine-readable HTTP API contract — POST /v1/send, /v1/send/batch, error envelope, webhook payloads - [API catalog](https://mailway.net/.well-known/api-catalog): the RFC 9727 catalog that links the HTTP API to its OpenAPI description and docs - [Agent Skill: mailway-setup](https://mailway.net/.well-known/agent-skills/mailway-setup/SKILL.md): the prompt from https://mailway.net/docs/ai-setup as an Agent Skill, for a coding agent that moves an app's mail onto Mailway (listed in https://mailway.net/.well-known/agent-skills/index.json) - [Product overview](https://mailway.net/product): the record (the Sent folder, delivery history, and proof of delivery) and the failover that keeps it whole - [Compared to email providers](https://mailway.net/compare): why a gateway sits in front of your provider instead of replacing it - [Apps built with AI](https://mailway.net/built-with-ai): for apps whose mail a coding agent wrote: read every mail before a customer does, and keep the provider the agent picked - [How it works](https://mailway.net/how-it-works): adopting the gateway is a config change, not a migration - [Architecture & failure semantics](https://mailway.net/architecture): durable-before-acknowledge ingest, failover, recovery, trust boundaries, rollback - [Changelog](https://mailway.net/changelog): the dated shipping record - [Glossary](https://mailway.net/glossary): plain-language definitions of the vocabulary used across Mailway - [Pricing](https://mailway.net/pricing): plan tiers that differ in mails a month, data volume, retention, and a few features, never a per-email margin - [Trust & security](https://mailway.net/trust): hosting, encryption, sub-processors, disclosure policy - [Full docs as one file](https://mailway.net/llms-full.txt)