I run mbsync/isync to keep a maildir copy of my email (hosted by someone else).
You can run it periodically with cron or systemd timers, it connects to an IMAP server, downloads all emails to a directory (in maildir format) for backup. You can also use this to migrate to another IMAP server.
If the webmail sucks, I wouldn't run my own. I would consider using Thunderbird. It is a desktop/Android application. It syncs mail to your desktop/phone, so most of the time, it's working with local storage so it's much faster than most webmails.
Ah, I didn't know of this. This should be in the linked article! Because it's one of the ways to turn rsync into a real backup! (I didn't know this flag- I thought this was the main point of rdiff-backup.)