Это не решение с полным стеком, но вы можете проверить правильность проверки подлинности сервера, используя Net :: SMTP напрямую. Gem Mail, который Rails 3 использует для отправки электронных писем ActionMailer, использует Mail следующим образом (с вашими ActionMailer.smtp_settings):
#line 96 of mail-2.2.7/lib/mail/network/delivery_methods/smtp.rb
smtp = Net::SMTP.new(settings[:address], settings[:port])
if settings[:enable_starttls_auto]
smtp.enable_starttls_auto if smtp.respond_to?(:enable_starttls_auto)
end
smtp.start(settings[:domain], settings[:user_name], settings[:password],
settings[:authentication]) do |smtp|
smtp.sendmail(message, envelope_from, destinations)
# @Mason: this line need not be included in your code. SMTP#start throws
# a Net::SMTPAuthenticationError if the authentication was not successful.
# So just putting this call to #start with an empty block in a method and
# calling assert_no_raise Net::SMTPAuthenticationError should do the trick.
# The empty block is necessary so that the connection gets closed.
# Reference #{rubydir}/lib/ruby/1.8/net/smtp.rb for more info.
end
Похоже, ActionMailer :: Base.smtp_settings также доступен:
settings = ActionMailer::Base.smtp_settings
Если вы добавите это в свой тест и закомментируете строку, о которой говорилось выше, у вас будет рабочий пример.