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. API keys are shown once and stored only as a hash; an SMTP password can be re-revealed from the project’s Credentials tab if you lose it.
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.
Cookie consent
We run ads. Knowing whether they work needs your OK for one cookie each from Google and Reddit, used only to tie a signup back to the ad that brought it. Analytics here is cookieless either way, and declining changes nothing else.
Change your mind any time with "Cookie choices" in the footer. Details in the privacy policy.