You have my sympathy. I think there's nothing I hate more than trying to straighten out email issues.
It's common for hosts to simply turn off the PHP mail() function without notifying you.
You might try installing the
QuickEmail extra. It's meant to help diagnose email problems, though they often remain mysterious.
With respect to SMTP (which I generally find to be more reliable), it's possible that the host has changed the SMTP server name, port, or prefix. They should have a Knowledge Base article or community support post giving the correct values.
FYI, you can send thousands of emails per month for free through Mailgun. The Notify extra has a
MailgunX class which extends the
Mailgun class you can get with Composer.
With Mailgun, you not only get lots of stats, you also get better deliverability and are less likely to have messages end up in the spam folder because of their reputation.
You're welcome to use the code.