The reason I gave up self hosting email was because all my emails kept going to spam for everyone I emailed.
You need to set up DKIM, SPF and DANE, then most big email providers will accept your mail. Worst case, you may need to contact them to unblock your mail server’s IP if that has been used by a spammer prior to you.
Plus incoming email needs spam protection.
Both SpamAssassin and Rspamd do a decent job of that.
Note: I’m using rspamd, and for some time at the beginning, it looked like it wasn’t really doing anything. Turns out it needs a couple hundred training emails before it will start using the Bayes function. Just feed your Spam folder into the learn_spam command and any of your normal, not-spam folders into the learn_ham command.
Wut?