<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/smtp_tls.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
 require 'optparse'
 require 'net/smtp'
+require 'smtp_tls' unless Net::SMTP.instance_methods.include?(&quot;enable_starttls_auto&quot;)
 require 'rubygems'
 
 class Object # :nodoc:
@@ -435,22 +436,21 @@ end
   # 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]
+    settings = [
+      smtp_settings[:domain],
+      (smtp_settings[:user] || smtp_settings[:user_name]),
+      smtp_settings[:password],
+      smtp_settings[:authentication]
+    ]
     
     smtp = Net::SMTP.new(smtp_settings[:address], smtp_settings[:port])
-    
-    if smtp_settings[:tls]
-      smtp.enable_starttls
-    elsif smtp.respond_to?(:enable_starttls_auto)
-      smtp.enable_starttls_auto
-    end 
+    if smtp.respond_to?(:enable_starttls_auto)
+      smtp.enable_starttls_auto unless smtp_settings[:tls] == false
+    else
+      settings &lt;&lt; smtp_settings[:tls]
+    end
         
-    smtp.start smtp_settings[:domain], user,
-        smtp_settings[:password],
-        smtp_settings[:authentication] do |session|
-      
+    smtp.start(*settings) do |session|
       @failed_auth_count = 0
       until emails.empty? do
         email = emails.shift
@@ -537,7 +537,8 @@ end
     loop do
       begin
         cleanup
-        deliver find_emails
+        emails = find_emails
+        deliver(emails) unless emails.empty?
       rescue ActiveRecord::Transactions::TransactionError
       end
       break if @once</diff>
      <filename>lib/action_mailer/ar_sendmail.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7dae1e9efba43b5c3e23c48c923442fd9a4e2d08</id>
    </parent>
  </parents>
  <author>
    <name>Calvin Yu</name>
    <email>calvin@skribit.com</email>
  </author>
  <url>http://github.com/cyu/ar_mailer/commit/b8a9cd0329bc71fc91bd06a8c27fb4910858f87c</url>
  <id>b8a9cd0329bc71fc91bd06a8c27fb4910858f87c</id>
  <committed-date>2009-04-08T21:56:32-07:00</committed-date>
  <authored-date>2009-04-08T21:56:32-07:00</authored-date>
  <message>bringing back tls hack;</message>
  <tree>a9c710e207fd9b0dc5fe517ad02759b4e78af028</tree>
  <committer>
    <name>Calvin Yu</name>
    <email>calvin@skribit.com</email>
  </committer>
</commit>
