I asked Proton Support directly about this. Their answer, for the record:
"Automatically deleting the original Gmail messages after importing them into Proton Mail isn't currently possible, as Proton doesn't have ongoing access to manage or delete messages in your Gmail inbox. The imported emails are separate copies."
That's accurate. There's no native way to make Gmail and Proton talk to each other about what's already been handled. So I built a workaround instead. Here's exactly how it works, what it actually does under the hood, and where it can still fail.
The setup
Two pieces, running in parallel:
1. A Gmail filter that forwards and trashes
In Gmail: Settings → Filters and Blocked Addresses → Create a new filter.
Leave the search conditions as broad as you want (I apply mine to everything), then set two actions:
- Forward to: an address on your own domain, connected to Proton (I use
mail@yourdomain.com, verified and receiving through Proton) - Skip the Inbox, send it to Trash
Gmail's Trash auto-empties after 30 days — no extra step needed for that part.
2. Easy Switch, left running
Separately, I also keep Gmail connected via Easy Switch, which imports messages into Proton's native inbox through Google's API.
This turned out to matter more than I expected.
What actually happens when a message arrives
Here's the part that isn't obvious until you test it: the forward and Easy Switch don't behave as two independent, redundant paths. They compete for the same message, and Easy Switch usually wins.
When Easy Switch is active, incoming mail gets imported into your main Proton inbox almost immediately — often before the forward rule has any visible effect. The direct forward to mail@yourdomain.com barely fires while Easy Switch is running. Turn Easy Switch off, and the forward becomes the only active path, delivering reliably to that domain address instead.
So in practice, with both enabled: Easy Switch is doing the actual delivery. The forward is sitting there as a second attempt that mostly doesn't get the chance to matter — except in edge cases where Easy Switch is slow or interrupted.
The part that matters most: none of this is synchronized
This is the honest caveat, and it's important enough to repeat clearly.
Gmail's filter doesn't check whether Easy Switch has successfully imported a message before sending the original to Trash. The two actions — forward and trash — fire together, on the same incoming event, with no verification step between them. Gmail has no concept of "wait until Proton confirms receipt."
That means the 30-day Trash countdown starts the moment a message arrives, regardless of whether it's actually landed safely on the Proton side yet. If Easy Switch's import lags — API rate limits, a Proton-side hiccup, anything — there's a window where a message could be sitting in Gmail's Trash, not yet imported, ticking down toward permanent deletion.
Testing it
Before trusting this on an account I actually use daily, I ran it through a deliberate stress test:
- Sent 10 emails in quick succession from an external account → all 10 arrived in Gmail's Trash and all 10 showed up in Proton via Easy Switch.
- Repeated with 20 emails, same result.
- Repeated with 30, back to back, from a real external sender (not myself) → zero losses.
That's a good sign, not a guarantee. It tells me the mechanism holds up under a moderate burst of traffic, tested on one day, under normal network conditions. It doesn't prove it'll hold up under sustained high volume, during a Proton outage, or six months from now if either service changes how it handles imports.
If you're relying on this for daily use, my recommendation is: run your own volume test with an external sender before trusting it fully, and don't treat "hasn't failed yet" as "can't fail."
Why keep an independent backup regardless
Because none of this is officially supported or guaranteed by either company, I also keep a full Gmail export (via Google Takeout, mbox format) stored separately — in my case on Proton Drive, since the storage was already there and unused. It's not connected to any of the sync mechanism above. If the Gmail↔Proton pipeline ever breaks silently, this is the copy that doesn't depend on either service behaving correctly that day.
This part isn't optional if your Gmail account has years of history you actually care about. Automating away the double-delete problem is a convenience. An independent backup is insurance. They're not the same thing, and the workaround above doesn't replace the second one.
Summary
| Component | Role | |---|---| | Gmail filter (forward + Trash) | Secondary path, mostly dormant while Easy Switch is active | | Easy Switch | Primary delivery path in practice, but polling-based, not instant | | Gmail's 30-day Trash | Runs on its own timer, unaware of import status | | External backup (Takeout → Drive) | The actual safety net, independent of both |
This isn't a feature Proton built. It's two existing mechanisms — a Gmail filter and Easy Switch — that happen to produce the result I wanted when combined, with a limitation I've tested around but can't fully eliminate. If Proton ever ships real Gmail sync with delete propagation, this whole setup becomes unnecessary. Until then, this is what's holding up in daily use, along with the same disclaimer I opened with: not bulletproof, just tested.