我已经看到很多StackOverFlow的回答,并再次发布此问题。 在某些时候发送邮件时引发问题,如果我重新启动服务器,我的工作正常。我再次遇到问题。
SMTP设置:
config.action_mailer.smtp_settings = {
address: 'smtp.1and1.com',
port: 25,
domain: 'leotechnosoft.net',
user_name: 'santoshk@leotechnosoft.net',
password: 'password',
openssl_verify_mode: 'none',
authentication: 'plain',
enable_starttls_auto: true }
错误
OpenSSL::SSL::SSLError in UsersController#create
SSL_connect returned=1 errno=0 state=unknown state: unknown protocol
我厌倦了更改设置ssl true / false,tls是/ false,open_ssl_verify_mode:none enable_starttls_auto:true。
请解释一下这个问题的根本原因以及如何解决。
Ruby 1.9.3(实际上在升级到ruby 2.1.2之后问题已经提出,然后它在1.9.3中也不起作用)
Ubuntu 12.04
谢谢
答案 0 :(得分:1)
我使用gmail smtp收到相同的消息,但是当我从“plain”更改为“login”时,问题就解决了。
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.smtp_settings = {
enable_starttls_auto: true,
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'youremail@gmail.com',
password: 'yourpassword',
authentication: :login
}
答案 1 :(得分:0)
在使用openssl 1.0.1时,它似乎与ubuntu 12.04中的已知错误相关,如上一个答案所述:
OpenSSL::SSL::SSLError Ubuntu 12.04 only
您可以在Ubuntu的错误跟踪器上找到有关该错误的更多信息https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371
显然,如果你强制使用SSLv3,错误就会消失。
Ruby SSL error - sslv3 alert unexpected message
您可能还想查看leotechnosoft.net
在使用SSL时是否阻止端口25,因为某些托管服务提供商有时会默认阻止端口25。当您使用SSL时,请尝试使用端口465。