On Insert Trigger To Create Email
Database Mail does not send the mail through SMTP when you call sp_send_dbmail.  The message is put on a service broker queue, and sent by a background process.  

So if the transaction in which the trigger executes is rolled back, then the message will be rolled back from the queue, and the mail will never be sent.  So that's one reason why your mail may not be sent.

Otherwise you can check the log table:

SELECT * FROM msdb.dbo.sysmail_log