email protocols is a dumpster fire There is a reason why email sending services like sparkpost, mailgun etc are so popular: email is messy and complicated, takes nothing to break stuff. If those are not an option, here are a few things for you to try:
Is mail.mybusiness.com the CNAME for a mailserver hosted by DreamHost? Then try to find the real mail cluster's name. https://help.dreamhost.com/hc/en-us/articles/214918038#Server_names
Make sure username and password are correct (I spent hours once debugging issues until I realized I was simply copying the wrong password)
Try port 587 and STARTTLS for secure protocol, too (sometimes it helps)
Some more articles with other details that may come in handy:
Also, keep an eye on the logs, try to connect to the smtp port via telnet from the server where the php script is hosted and let us know how things progress.