As for email delivery you can use Amazon SES which is very cheap (0,10$/1.000 emails). I setup Postfix to go through Amazon SES.
In the past I have set up a VPS to send emails (SPF, DKIM, DMARC, reverse DNS ... all set up), bounce emails, a clean list of members, I used periodically https://www.mail-tester.com/
to check the spam score which was 9,5-10 /10 and in the end there were always some random problems with delivery.
I'm not saying that with Amazon SES everything is perfect, but it's pretty decent and the configuration is simple. On my forum I blocked most of the temporary email domains. I try to keep clean the memberlist by deleting inactive and bounced members with 0 posts.
Yep, that's another problem, but if a member marks you as spam, Amazon will not send any email to that account until you whitelist that account manually. This is good to keep a clean memberlist, but blocked email will not be able to request a new password.
You can say that loud, email is a PITA!