You might want to try what I did 15 years ago...
I have a domain name - lets say "mydomain.com" and I setup the domain with a catch-all email account (
inbox@mydomain.com), meaning that anything to the left of the "@" (any alias) will go into this email account. So emails like
Microsoft@mydomain or
b4x@mydomain will both go into (forward into) the one email account of
inbox@mydomain.com
Then as I give out a new email address to a new company, I format the alias of that email address to include the name of the company that I am giving it to.
For example, when I provide my email address to Microsoft, I'll give them the email address of "
Microsoft-abc@mydomain.com"
And if I provide my email address to google, I'll give them the email address of "
google-abc@mydomain.com"
The next thing to do is setup a rule that will simply delete any incoming email if the phrase "-abc" (or any other phrase you want to use) is not part of the "To:" address. This method of adding a "-abc" to all emails is useful because it will block all emails from spammers trying to "fish" for valid email accounts to my domain, such as using common alias's like "support@" and "sales@", etc. Without adding this "-abc" method, you will soon find yourself having to constantly add a new block rule for each of all the random "fishing" alias's spammers try to use to send email to your domain (boy are they creative!). However, because spammers don't know that "-abc" needs to be in the alias, all those made-up alias's from spammers will be swiftly deleted!
Now the magical part...
Because each email address I gave out is personalized, if I then get a spam email, all I have to do is look at the "To" address that they used to send me the spam email and they are BUSTED! - I will instantly know who gave (/sold/was hacked) out my email address to that spammer because the name of original company that I gave that email address to will be in the email address!
It's weirdly satisfying contacting a company and asking them why did they give/sell my email address to spammers, then hearing them say "we didn't", then me proving that they did, then hearing silence on the other end
For example, if I receive spam and it used the address of
BBCAmerica-abc@mydomain.com, then I will know that my account with BBC America was either hacked on their end or that they gave out/sold my email address to this spammer!
The additional cool bonus is that if one of your alias's ever gets compromised, you can then simply update the email address with that company to a slight variant like
BBCamerica1-abc@mydomain.com, and then setup a rule that will block any incoming emails that use the old/compromised "bbcamerica-abc@mydomain".com alias. You are then back to 0 spam messages using that alias.
I've been using this system for 15+ years and I rarely get any spam
Another VERY cool aspect of this method is that you can easily give out new email addresses on the fly without taking any further steps. Some other methods to block spam required you to also add every new email address that you give out to a "whitelist" so that the system will only accept emails using the new addresses you have in the whitelist. But with my method, no whitelist is needed - just make up a new email with "-abc" in it and the domain will accept it automatically.
You would have to gradually implement my system for it to work, but I feel it would be well worth the effort.