MXcatch
Use case

Archive email attachments automatically

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.

Attachments in a mailbox are not an archive

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.

What archiving does

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.

Getting past retention

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.

Setting it up

  1. Add your domain and point the MX records at MXcatch — per-provider instructions.
  2. Create an alias for the mail you want archived, such as invoices@. Or turn on catch-all and archive everything.
  3. Add an archive action and set the prefix.
  4. Send a test message with a file attached and check that it appears under today's date.

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.

Pair it with a webhook

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 selectively

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.

Frequently asked questions

How do I automatically save email attachments to cloud storage?

+
Point your domain's MX records at MXcatch, create an alias, and add an archive action with the prefix you want. Every attachment sent to that address is written to object storage, filed by date, without anyone opening the message.

Where is the data stored?

+
In EU object storage — a DigitalOcean Space in Amsterdam — under the prefix you choose. Servers are in Germany.

Is the original email kept too?

+
Yes. The raw .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.

How are files named?

+
Under 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.

Does archiving get around plan retention?

+
That is the point of it. The inbox copy is removed when your plan's retention window elapses; the archived copy is not.

Can I get the files into my own bucket?

+
Archiving today writes to MXcatch's EU storage under your prefix. If you need the file in your own bucket, use a webhook action — each attachment arrives with a signed download URL and a SHA-256, so your handler can stream it wherever you like.

Stop dragging PDFs out of your inbox.

Add an archive action and it happens on its own, from the next message onward.

Create your free account