I would suggest you to decouple actual sending of mail from your app business logic. Do this asynchronously: Use queue or at least different thread for sending such notifications.
- Sending of email could be time consuming operation, even if you use your own internal mail server which is close to your app. SMTP conversation consists of several requests/responses.
- Do not treat sending of a mail as a transactional action. When target SMTP server replies with 250 OK as a response for DATA command - it just takes responsibility for this mail nothing else. Delivery could fail in future if next server in the chain is not able to deliver mail (read about DSN, aka bounce).
- Last but not least think about failure modes. What if your business critical functionality is slowed down / blocked by auxiliary one (email notification), not good I guess.