This problem can be fixed by simply removing the erroneous certificate from the server and replacing it with the correct certificate file.
An infinitely better solution (in terms of security that is) than the accepted answer would be:
ActionMailer::Base.smtp_settings = {
:address => "mail.foo.com",
:port => 587,
:domain => "foo.com",
:user_name => "[email protected]",
:password => "foofoo",
:authentication => "plain",
:enable_starttls_auto => true,
:openssl_verify_mode => 'none'
}
This way you'll still be using encryption, but the validation of the certificate would be disabled (and you won't be getting any errors).
EDIT: This answer is no longer the best solution, and may no longer work. See this answer which is more secure.
The name on certificate should match with the url on which you are running your application
Not useful... I get this error with dreamhost, where I have no option to change the ssl certificate. (well, I do, but it costs.)
One option is to disable tls. Hopefully you have something like this in your initializers:
ActionMailer::Base.smtp_settings = {
:address => "mail.foo.com",
:port => 587,
:domain => "foo.com",
:user_name => "[email protected]",
:password => "foofoo",
:authentication => "plain",
:enable_starttls_auto => true
}
Change the enable starttls auto option to false (or add it in if it isn't present).
Warning: this will disable encryption, meaning your username an password will traverse the internet in plain text
I can't see a better way of doing this, so would be interested in any answers.
If you are using the ruby mail library as I do,here is the setting for pop
pop = Net::POP3.new(mail_server, mail_port)
pop.enable_ssl(0) #(default is on, if you want turn it off set it to 0 )
pop.start(mail_username, mail_pwd)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With