I’d love to see a setup where I could keep the emails on a Linux box in the house (the messages are fetched regularly from the “real” email server), you know what I mean?
Sending would probably be easier ( use a real smtp server)…
I use mbsync (formerly isync) to synchronize multiple external mailboxes to a local Maildir store. I use it with mu4e, but it'd work fine with mutt or any other client that supports Maildir.
I pair this with imapnotify (keeps a constant connection to each of the IMAP servers for the email addresses I have) that calls mbsync the moment I get a new email. It was a bit annoying to set up at the time but now my (neo)mutt client updates pretty much instantly with any new email.
getmail, fetchmail, and offlineimap all work well for this. I currently use getmail and offlineimap (on different boxes) to fetch emails over IMAP, and configure mutt to use my usual smtp to send.
https://isync.sourceforge.io/