Going through your question and detail I could see you are having this same issue now which I faced few years ago with my WordPress setup.
For information all shared hosting provider use default linux SMTP to send outgoing emails which use sendmail to deliver emails and most of the time they miss-out important sending domain configuration like SPF, DKIM, DMARC records. And impact email delivery.
Don't worry about this as these can be easily fixed with following setup.
In order to fix this, you should use SMTP relay like ( ESP ) to deliver email externally, but here you should configure following important records on your email sending domain name:
SPF record according to your SMTP relay provider
DKIM record according to your SMTP relay provider
DMARC according to your sending domain name
Apart from above also configure your email sending domain name to your Google Postmasters account ( This is like Google webmasters for emails ).
This technology setup improved my email to all subscribers and my email open rate boosted from mere 17% to 48%.
Coming to SMTP email service provider, looking at your requirement, I would recommend to use SendGrid or SparkPost. SparkPost is quite easy to configure.
After above have been properly configured and aligned with your domain name, you should install https://wordpress.org/plugins/wp-mail-smtp/ wordpress plugin and add your SendGrid / SparkPost configurations.
I know these may sound little tricky for you. Let me know I can help you with complete setup within few minutes.
Wish you the best for your success!