在 Rails 2.3.3 中引入了 ActionMailer 中的错误。你可以在这里看到票票Ticket #2340。它已在 2-3-stable 和 master 中解决,因此将在 3.x 和 2.3.6 中修复。
为了解决 2.3.* 中的问题,您可以使用票证评论中提供的代码:
module ActionMailer
class Base
def perform_delivery_smtp(mail)
destinations = mail.destinations
mail.ready_to_send
sender = (mail['return-path'] && mail['return-path'].spec) || Array(mail.from).first
smtp = Net::SMTP.new(smtp_settings[:address], smtp_settings[:port])
smtp.enable_starttls_auto if smtp_settings[:enable_starttls_auto] && smtp.respond_to?(:enable_starttls_auto)
smtp.start(smtp_settings[:domain], smtp_settings[:user_name], smtp_settings[:password],
smtp_settings[:authentication]) do |smtp|
smtp.sendmail(mail.encoded, sender, destinations)
end
end
end
end