Here's a quick little powershell script that does it for me. I set up event viewer to run it on the administrative events filter.
#Get the app log minus the annoying warnings from MSCVCR that occur because I don't own my domain/tree.
#Only grab the previous 2 minutes - this could probably be shortened.
$logapp = get-eventlog -LogName Application -after ([DateTime]::Now.AddMinutes(-2)) -EntryType Warning,Error | where-object {$_.EventID -ne 12339 -and $_.EventID -ne 12344} | fl | out-string
#Get the system log -- only warnings & errors
$logsys = get-eventlog -LogName System -after ([DateTime]::Now.AddMinutes(-2)) -EntryType Warning,Error | fl | out-string
#Grab the hardware log (everything)
$loghrd = get-eventlog -LogName HardwareEvents -after ([DateTime]::Now.AddMinutes(-2)) | fl | out-string
#Setup a string to go out in the email
$x = @"
Applog $logapp
Syslog $logsys
Hardware $loghrd
"@
$smtpServer = "smtp.mydomain.edu"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SMTPClient($smtpServer)
$msg.From = "from@mydomain.edu"
$msg.To.Add("to@mydomain.edu")
$msg.subject = "MyMachine Syslog"
$msg.body = $x $smtp.Send($msg)

Originally Posted by
mitchell1981
I've just discovered that the ability to send an email based on an event, or a task has been deprecated. I've always found this quite useful for spotting when backups fail, or when syncs have happened etc.. A quick google search does not give any reason why Microsoft have decided to drop this functionality, nor can I find if there is now an alternative recommended way of getting a notification based on a event. Anyone found a way? I'm guessing it may be too early to ask a question like this!