Not sure if there’s a pre-existing solution to this, so I figured I’d just ask to save myself some trouble. I’m running out of space in my Gmail account and switching email providers isn’t something I’m interested in. I don’t want to pay for Google Drive and I already self-host a ton of other things, so I’m wondering if there is a way to basically offload the storage for the account.
It’s been like 2 decades since I set up an email server, but it’s possible to have an email client download all the messages from Gmail and remove them from the server. I would like to set up a service on my servers to do that and then act as mail server for my clients. Gmail would still be the outgoing relay and the always-on remote mailbox, but emails would eventually be stored locally where I have plenty of space.
All my clients are VPN’d together with Tailscale, so the lack of external access is not an issue. I’m sure I could slap something roughshod together with Linux packages but if there’s a good application for doing this out there already, I’d rather use it and save some time.
Any suggestions? I run all my other stuff in Kubernetes, so if there’s one with a Helm chart already I’d prefer it. Not opposed to rolling my own image if needed though.
You could setup imapsync and sync your Gmail to a self hosted IMAP server and just never delete your mails.
Basically every serious mailserver package has imapsync included. I don’t know what kind of hardware you’re running and what you expect from the server doing the copying but running webmail, search indexes, antivirus, etc will cost you ram. There are solutions aimed at keeping backups of your mail though, I can’t give you recommendations, the only thing I remember is that they don’t give you a normal webmail or imap, instead you get a web-interface aimed at searching through the backup(s)
Do they need to be the same mailbox?
Could you have a ‘live’ and ‘archive’ split?
If you could, then I’d use something like imapsync to make a complete mirror copy, and then delete all email older than whatever the age is that makes them outside of your usual working set, and bam, done.
The problem you’re going to have is there’s a LOT of tools that can sync imap->imap, but they’re more migration or backup tools and won’t let you delete the email from gmail afterwards while maintaining a usable archive, which I think is a requirement to solve your issue.
Bit of a different solution:
If Paperless-NGX is one of the things you self-host; it has options to import emails based on your specified criteria, then you could have it delete each piece of mail it imports. You can also just have it move mail to folders on the mail server, or just tag/flag mail instead of deleting it. (for you to then manually delete at your leisure)
I use this to automatically import receipts, bills, work documents, and any other regular mail instead of dealing with it manually every week/month.
I’ve never noticed that in the docs! That’s pretty cool. I’ll have to try set it up sometime.
I usually look at these awesome … lists. They list quite some mail servers:
I think you first need a mailserver, then you’d use imapsync (for example) to move the mailbox initially, and then periodically fetch the mails from gmail.
For outgoing mail you can either configure your mailserver to relay mail via your gmail account. Or configure your mail program to send mail directly via gmail.