Instead of using a BAdi or user exit, Use the message conditions & Output the PO using external send functionality.
Maintain the condition records suiting the functionality & requirements.
Once the PO is release it will be sent.
If the user or vendor has to receive this maintain the e-mail address in the master data.
Award points if useful.