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.
I wrote this ansible role to setup dovecot IMAP server. Once a year I move all mail from the previous year from various mailboxes to my dovecot server (using thunderbird).
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.
You could setup imapsync and sync your Gmail to a self hosted IMAP server and just never delete your mails.
The thing that immediately came to mind was mailpiler.org. It’s been on my list to stand up for a while, but I’ve never got around to it.
I’ve setup exactly what you’ve described. Some of the stories of people suddenly losing access to their Google accounts scared me enough that I wanted a copy of all my emails locally in case the same thing happened to me.
I setup an IMAP email server using Dovecot which I can access over my Tailnet from various client machines. I use Getmail on the server to periodically poll Gmail every few minutes for any new messages via POP access. Anything new is downloaded and dumped in the user’s inbox.
It’s a pretty solid setup - I’ve been using it for years.