terça-feira, 17 de março de 2009

OpenSSL::SSL::SSLError (hostname was not match with the server certificate):

OpenSSL::SSL::SSLError (hostname was not match with the server certificate):

Tive essa mensagem no Rails 2.2.2 gerada pelo ActionMailer.

Parece que essa versão tenta automaticamente conectar no smtp
usando SSL, foi feito um fix porém para a versão 2.3, não disponível
na versão 2.2.2

no arquivo "config/enviroment.rb" inserir

#=======================================
if RAILS_GEM_VERSION == '2.2.2'
module ActionMailer
class Base

def perform_delivery_smtp(mail)
destinations = mail.destinations
mail.ready_to_send
sender = mail['return-path'] || mail.from

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
else
raise "you forgot to remove the ActionMailer monkey patch!"
end
#=======================================

e nas configuracoes do ActionMailer,...

adicionado o parâmetro
enable_starttls_auto
#=======================================

config.action_mailer.smtp_settings = {
:domain => 'domain.com',
:address => 'localhost',
:port => 25,
:user_name => 'user',
:password => 'passwd',
:authentication => :login,
:enable_starttls_auto => false
}

#==========================================


post_original:
http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1731-make-enable_starttls_auto-opt-in-in-actionmailer


Nenhum comentário:

Postar um comentário