Every invoice, contract and export that arrives at your domain, written to object storage the moment it lands — with the original message kept beside it.
Suppliers send invoices as PDFs. Payroll sends exports. A partner's nightly job mails a CSV. All of it arrives in a mailbox, and all of it stays there until someone thinks to drag it somewhere useful.
That is fine right up until it isn't: the person who owned the mailbox leaves, a retention policy quietly deletes the last two years, or an auditor asks for the original message rather than the file someone re-saved from it. Mailboxes are optimised for reading, not for keeping.
Add an archive action to an alias and every message that arrives is written to EU object storage — the raw .eml and each attachment, filed by the date it was received:
invoices/2026/08/29/<message>.eml
invoices/2026/08/29/attachments/supplier-inv-4471.pdf
invoices/2026/08/29/attachments/timesheet.csv
invoices/2026/08/30/<message>.eml
The prefix is yours to choose — invoices, payroll, customer-uploads. Leave it blank and it defaults to mxcatch/your-domain.com.
Date partitioning is deliberate. Anything reading the archive in bulk — a nightly import, a compliance export, a bookkeeping tool — can ask for one day or one month as a prefix scan rather than listing the whole bucket.
Keeping the raw .eml alongside the extracted files is what makes it an archive rather than a folder of documents. The headers, the sender, the SPF result and the exact time of receipt all stay with the file, which is precisely what you need when a payment turns out to have been requested by someone impersonating a supplier.
Every MXcatch plan bounds how long messages live in the inbox, from 3 days on Free to 90 on Scale. That keeps the product honest about storage, and it is the wrong policy for documents you are required to keep for seven years.
Archiving is the escape hatch. The inbox copy expires on schedule; the archived copy does not. Set the action once and the retention window stops being something you have to think about.
invoices@. Or turn on catch-all and archive everything.Archiving retries three times if storage is briefly unavailable, and runs independently of your other actions — a failing forward does not cost you the archive, and vice versa.
Archiving keeps the file. It does not tell your systems that a file arrived. Add a webhook action next to it and you get both: the message is stored, and your handler is notified with the filename, MIME type, byte size and SHA-256 of every attachment, plus a signed URL to fetch it from.
That combination is the usual shape of an invoice pipeline — archive for the auditor, webhook for the accounting system, and a Slack post if a human should glance at it too.
Archiving every message on a busy catch-all will store a lot of newsletters. Routing rules narrow it down — subject contains invoice, sender ends with a supplier's domain — so the archive stays the thing you actually want to keep.
.eml is archived next to the attachments, so you keep the full message with its headers and not just the files pulled out of it.your-prefix/YYYY/MM/DD/, with attachments in an attachments/ subfolder beside the raw message. The date partitioning means a month of mail is one prefix scan.Add an archive action and it happens on its own, from the next message onward.
Create your free account