A client of mine recently had their email and web site provisioned from one server to another on their shared hosting platform. Once the switch happened, however, their web application could no longer send emails to respective staff members. Clients and others were receiving the emails fine.
In looking at the logs, as well as the bounce back messages, I saw the following:
----- The following addresses had permanent fatal errors ----- <firstname.lastname@example.org> (reason: 550 Administrative prohibition) ----- Transcript of session follows ----- ... while talking to tld.com.: >>> DATA <<< 550 Administrative prohibition 554 5.0.0 Service unavailable
Curious. In looking at the mail log (/var/log/maillog) I was getting repeated "stat=Service unavailable" and "DSN: Service unavailable" messages. So we called their host, and discussed it with them. It turns out that now, when sending emails to their domain, the from address in the email headers have to include a valid account. The messages were initially coming from a email@example.com email address which did not exist. So I created it, and the emails started going out.
I hope that can possibly help someone else down the line.