I recently encountered a situation on a new server (SS2012) where I wanted an email notification if any SQL Agent job failed to execute to successful completion but could not get it to work. I never had the problem before. ????
To test it, I created a SQL Agent job with a T-SQL script that was bound to fail, executed it, and no email message was received.
To make a long research story short, placing this short T-SQL script at the beginning of all SQL Agent jobs' T-SQL scripts solves the problem:
"SET XACT_ABORT ON"