- if failed? and not exception.is_a? SystemExit
- subject = "Chef run failed on #{node.name}"
- message = "#{run_status.formatted_exception}\n"
- elsif elapsed_time > 300
- subject = "Chef run took #{elapsed_time} on #{node.name}"
- message = ""
+ from_address = @config[:from]
+ to_address = @config[:to]
+
+ if failed? && !exception.is_a?(SystemExit)
+ message_subject = "Chef run failed on #{node.name}"
+ message_body = "#{run_status.formatted_exception}\n"
+ elsif elapsed_time > 600
+ message_subject = "Chef run took #{elapsed_time} on #{node.name}"
+ message_body = ""
+ end
+
+ return unless message_subject
+
+ message_body << Array(backtrace).join("\n")
+
+ require "mail"
+
+ Mail.defaults do
+ delivery_method :exim, :location => "/usr/sbin/exim"