This may happen when the website (ex: mysite.com) is hosted in one account and the domain and email are hosted in a separate account. A php script that sends email (to an address that is on mysite.com such as info@mysite.com) will not know that the email is hosted under a separate account and will try to send the email locally. The fix is to go into the DNS settings in cpanel of the hosting account and add a DNS record for the domain called Remote Mail Exchange.

On GoDaddy hosting, go to Hosting > Manage. Under Email click on MX Entry. Under Email Routing, you will see Local Mail Exchanger and Remote Mail Exchanger.