Archive

The exact message, when someone asks.

Mailway keeps what your app sent, from HTML and text to headers, attachments, and the original DKIM signature, for as long as your plan keeps it.

What Mailway keeps depends on how the mail arrived. Mail relayed over SMTP is stored byte-for-byte: the MIME source with its HTML and text parts, headers, attachments, and the original DKIM signature. A send through the HTTP API has no MIME source of its own, so Mailway keeps the JSON request it accepted (the validated body, stored as UTF-8) and renders the mail's HTML and text from it.

Retention follows your plan: 30 days on Free, 1 year on Business, custom on Enterprise, with add-ons (+1 year, +3 years, +7 years, or unlimited) for SOX, HIPAA, and FINRA record-keeping. At the end of the window the content is deleted; the delivery record (sender, recipients, subject, and states) stays for the life of the account (retention).

Archive

Your app doesn't have a Sent folder.
Mailway gives it one.

Every mail client keeps what you send. Your app sends the more consequential mail and keeps none of it: receipts, reset links, and contracts vanish the instant SMTP takes them. Mailway archives each message exactly as sent, searchable by sender, recipient, subject, and state. So when a customer complains and legal asks what exactly was sent to them, and when, you open the emails themselves instead of a log line that mentions them, for as long as your plan keeps them (30 days on Free, a custom window on Enterprise, up to unlimited with a retention add-on).

And it doesn't have to be a developer who looks. Give support or legal a member seat and they answer "what did we send?" themselves, only for the projects you give them.

Search a sample Sent folder →

storedthe raw message, byte-for-byte: headers, attachments, original DKIM signature intact (SMTP relays; an API send is kept as the JSON request Mailway accepted)
foundby sender, recipient, subject, plus operators like state:delivered, before:2024-06-01, rescued:yes
openedrendered · plain text · headers · raw source · attachments, unchanged for your plan's full retention
console.mailway.net — Mails
to:customer@gmail.com
Invoice #20412026-04-10✓ delivered
Payment reminder — invoice #19872026-03-12✓ delivered
Changes to our terms of service2026-01-15✓ delivered
Your password was changed2025-11-02✓ delivered
Welcome to YourApp2024-06-18✓ delivered
renderedheadersrawinvoice-2041.pdf
FromYourApp Billing <billing@yourapp.com>Tocustomer@gmail.comDateFri, 10 Apr 2026 09:41:02 +0000
Invoice #2041YourApp
Amount due · €240.00due 10 May 2026
accepted by Amazon SES 09:41:07 · deliveredsha-256 9f2c…a41e · the bytes as sent
5 of 5 sent to this customernewest first
The usual workaround

“Can’t we just BCC ourselves?”

You can, and plenty of teams start there, or log every send to a table. Both give you a copy of something. Neither gives you the message your app sent next to what happened to it.

The exact message your app handed off
BCC to a mailboxA copy of what arrived after your provider handled it
A sent-emails tableWhat your code meant to send, usually without attachments
MailwayByte for byte: headers, attachments, the original DKIM signature
What happened after
BCC to a mailboxNothing: no provider answer, no bounce
A sent-emails tableOnly if you wire up each provider's webhooks yourself
MailwayProvider answer, failover and delivery events on one timeline
Finding one message
BCC to a mailboxMailbox search across every app's mail at once
A sent-emails tableA query someone has to write
MailwaySearch by recipient, sender, subject, state, project
Who can read it
BCC to a mailboxAnyone with the mailbox, live reset links included
A sent-emails tableAnyone with database access
MailwayYour team's roles, per project
What it costs you
BCC to a mailboxOne more billed recipient on every send
A sent-emails tableStorage and code you maintain
MailwayNo per-email fee; how long it's kept is set by your plan
Mailway · Proof of delivery
Certificate
of delivery
message m.01j9zk3vq7
content sha-256 9f2c…a41e ✓ match
dkim d=yourapp.com ✓ verified
accepted SES msg-id · 2026-04-10T09:41:07Z
delivered SES event · 2026-04-10T09:41:08Z
signature ed25519:Kx4v…9dQ=
verify mailway.to/m/f3XK…
Proof of delivery

“I never got that email.”
Here’s the receipt.

Every SMTP-relayed message is archived with its raw MIME and original DKIM signature. Any mail a provider accepted can be turned into an Ed25519-signed proof-of-delivery certificate, countersigned by an independent time authority so it can't be back-dated, and the certificate says whether it proves acceptance or delivery. The signature and the timestamp verify in anyone's browser, with no call to our database; compare the certificate's key with Mailway's to know it came from us. Share the rendered email itself with a private mailway.to link, and settle the dispute instead of having it.

Certificates are included on Business and up, and share links on Pro and up. Free has 1 limited share link a month.

Retention on paid plans
SendGrid Essentials
3 days
Mailgun Foundation
5 days
Postmark default
45 days
Mailway
90d → years

30 days on Free, 90 days on Pro, 6 months on Team, 1 year on Business, custom on Enterprise, with retention add-ons (+1 year, +3 years, +7 years, or unlimited) for SOX, HIPAA, and FINRA record-keeping. All of it EU-hosted.

Your mailer config has
one block to change

Mailway is in private beta, and we onboard teams one at a time. Leave your email and we'll send your invite when it's your turn.

read the docs meanwhile →

join the waitlist — mailway.net

Your invite, one email away.

Mailway is in private beta, and we onboard teams one at a time. Leave your email and your invite arrives when it's your turn.