Delivers a TMail::Mail object. By default, it delivers the cached mail
object (from the create! method). If no
cached mail object exists, and no alternate has been given as the
parameter, this will fail.
# File actionmailer/lib/action_mailer/base.rb, line 515
def deliver!(mail = @mail)
raise "no mail object available for delivery!" unless mail
unless logger.nil?
logger.info "Sent mail to #{Array(recipients).join(', ')}"
logger.debug "\n#{mail.encoded}"
end
begin
__send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries
rescue Exception => e # Net::SMTP errors or sendmail pipe errors
raise e if raise_delivery_errors
end
return mail
end