In my experience of +15 years of hosting my own email server, being successful at delivering and receiving mail is a matter of luck rather than knowledge or correctness of execution. Obviously you have to configure DMARC and such or there will be nothing but trouble, but even if you do every little thing by the book, or alternatively use one of these kitchen-sink solutions, there's still a good chance you will have problems sooner or later. Bad IP, bad IP range, changing IP, bad domain/registrar (!?!?!) or some kind of weird automated flagging system can and often will get in your way, and gmail/outlook will not reply to your support ticket or investigate the matter at all whatsoever. Look forward to changing VPS providers and domains until it works, and then stick to that setup like your life depended on it.