Trigger shouldn't block insert
No


A trigger is part of the transaction
An error will abort the INSERT statement (if not in an explicit transaction)
An error in a trigger will doom a transaction (that is, must be rolled back)
An error in a trigger where TRY/CATCH blocks are not used (around the INSERT too) will abort the batch


Don't use a trigger. Use a stored procedure instead to decouple the logic from the INSERT.

Personally, a trigger failing means some complex DRI has failed or I can't write to a history table. That is a bad thing...

Edit:


Use Service Broker to send an notification from the trigger.
Another piece of code will pick it up and send asynchronously


I haven't implemented myself so I'll have to refer you to Google