class ActionMailer::MessageDelivery

def processed_mailer

on hand so we can run callbacks and delegate exception handling to it.
Returns the processed Mailer instance. We keep this instance
def processed_mailer
  @processed_mailer ||= @mailer_class.new.tap do |mailer|
    mailer.process @action, *@args
  end
end