Concepts
Five objects explain the whole product. Two minutes here saves an hour later.
The account boundary — billing, members, and roles live here. Everything below belongs to a team, and a member’s role (admin, developer, finance, member) decides what they can see and touch.
Project
Section titled “Project”The unit of sending. A project groups one application’s (or environment’s)
mail: its own credentials, its own attached providers, its own suppression
list, its own analytics. Typical setups have one project per app, or per
app-environment (shop-production, shop-staging).
A project also declares the sender domain(s) it mails from — plans cap how many domains a team can send from in total (limits). Domain authentication (SPF, DKIM, DMARC) stays where it belongs under BYOK: at your provider, on your DNS — see Deliverability for what goes where, and the Amazon SES guide for the concrete records.
Provider
Section titled “Provider”Your email provider account — Amazon SES, SendGrid, Mailgun, Postmark, and friends — added to Mailway with your API key. Mailway never resells email: every message relays through a provider account you own, on your reputation and your pricing. Providers attach to projects in an ordered list; that order is the failover chain.
Credentials & API keys
Section titled “Credentials & API keys”Two ways in, both per-project so a leak is contained:
| Used for | Looks like | |
|---|---|---|
| SMTP credential | The SMTP relay — apps that already speak SMTP | username + password |
| API key | The Send API | mw_live_… / mw_test_… bearer token |
Both are minted in the console and shown once.
One message, from ingest to archive. Every mail gets a permanent ID
(m.01k8w9…) that threads through the console, webhook events, share
links, and delivery certificates. Its lifecycle is a ladder of states:
Two of these deserve precision, because most services blur them:
- Accepted — a provider took the handoff. Getting here isn’t a given: Mailway tries each provider in your failover chain in order until one accepts, and if they’re all exhausted the mail is failed. This is all most APIs ever tell you.
- Delivered — the recipient’s mail server confirmed receipt, reported back through provider delivery events. It’s a conditional state: a mail only reaches it once those events are flowing (SES → SNS, and friends); until then it rests at accepted. Mailway shows the two separately and never relabels one as the other.
The full message — headers, body, attachments — is archived byte-for-byte for your plan’s retention window, which is what makes share links and proof-of-delivery certificates possible. When the window closes the content is genuinely deleted; the delivery record stays on file permanently.