I have a unique email address for every single service that I sign up for, similar to this, though selfhosted. I've been doing this for years and it works wonderfully. If someone misuses my email address, or gets annoying, I can simply turn off the address. Bam!

It's the easiest Postfix config in the universe, essentially just:

  virtual_alias_domains = domain1.com domain2.com
  virtual_alias_maps = hash:/etc/postfix/virtual
And then /etc/postfix/virtual looks like this:

  [email protected] [email protected]
  [email protected] [email protected]
  ... (hundreds of these)
I also made a super simple web UI for myself to edit this file quickly.

Gmail seems to be fine with this, emails do not usually end up in spam. Every full moon maybe, but usually it's alright.

It's not as shiny as Apple's thing, but it's 100% selfhosted and I own the domain.

For those who do not wish to interact with their webserver config (or can't) there is AnonAddy, which can be self-hosted (https://github.com/anonaddy/anonaddy) or paid for (https://anonaddy.com/). It's really convenient, with the added benefit (for the paid version) of having a domain, that is used by many people, which makes it easier to hide behind an email address.