This is not unusual. The email server, often Exchange, needs to be set to allow a relay from the email address or domain your email is being sent from by your code. Or, there is a firewall blocking your relay (less likely).
In many corporate settings, the email system is only set to accept mail from internal clients. If your email address that your code is sending from is not allowed to relay, you get this result. The setting is meant to prevent exactly what you're trying to do, allow a spoofed internal client to relay email through the server. This would allow any spam bot to send email from your corporate network, getting it blacklisted.
The solution is simple, you, or your email admin, needs to configure your email server to relay mail from your web code. Specifics depend on the server you're using, how your site/domain are configured and a number of other things, you may need to try a group that supports your mail server.