Index: test/test_arsendmail.rb
===================================================================
--- test/test_arsendmail.rb	(revision 465)
+++ test/test_arsendmail.rb	(working copy)
@@ -384,6 +384,15 @@
     assert_equal "sent email 00000000001 from from to to: \"queued\"\n", err.string
   end
 
+  def test_deliver_no_emails
+    @connected = false
+    Net::SMTP.on_start do
+      @connected = true
+    end
+    @sm.deliver []
+    assert @connected == false
+  end
+
   def test_deliver_auth_error
     Net::SMTP.on_start do
       e = Net::SMTPAuthenticationError.new 'try again'
@@ -429,9 +438,10 @@
 
     @sm.failed_auth_count = 1
 
+    email = Email.create :mail => 'body', :to => 'to', :from => 'from'
     out, err = util_capture do
       assert_raise Net::SMTPAuthenticationError do
-        @sm.deliver []
+        @sm.deliver [email]
       end
     end
 
Index: lib/action_mailer/ar_sendmail.rb
===================================================================
--- lib/action_mailer/ar_sendmail.rb	(revision 465)
+++ lib/action_mailer/ar_sendmail.rb	(working copy)
@@ -404,6 +404,7 @@
   # Delivers +emails+ to ActionMailer's SMTP server and destroys them.
 
   def deliver(emails)
+    return if emails.empty?
     user = smtp_settings[:user] || smtp_settings[:user_name]
     Net::SMTP.start smtp_settings[:address], smtp_settings[:port],
                     smtp_settings[:domain], user,
