SSL_connect возвращено = 1 errno = 0 состояние = неизвестное состояние: неизвестный протокол - PullRequest
0 голосов
/ 30 октября 2018

Прочитав много постов, я не смог найти решение своей проблемы. Я успешно установил тестовое соединение с www.smtper.net. Мой error.log только сообщает мне об ошибке:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=unknown state: unknown protocol


app/controllers/passwords_controller.rb:11:in `create'

Может быть, это как-то связано с моими настройками nginx?

Выпуск

Я пытаюсь настроить SMTP через mailgun (или gmail), но безуспешно. Моя конфигурация в development.rb выглядит так:

config.action_mailer.default_url_options = { :host => "xxxxx:8765" } 
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
   :address => "smtp.gmail.com",
   :port => 587,
   :domain => "mail.google.com",
   :user_name => "xxx@gmail.com",
   :password => "xxxxxx",
   :authentication => :plain,
   :enable_starttls_auto => true
}

И выдается ошибка при действии create, строка 11:

  AccountMailer.password_reset_email(@account).deliver

Я установил OpenSSL 1.0.1f на свой сервер разработки

TRACE

/root/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock'
/root/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect'
/root/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/smtp.rb:584:in `tlsconnect'
/root/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/smtp.rb:552:in `do_start'
/root/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/smtp.rb:518:in `start'
mail (2.7.0) lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
mail (2.7.0) lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
mail (2.7.0) lib/mail/message.rb:2160:in `do_delivery'
mail (2.7.0) lib/mail/message.rb:260:in `block in deliver'
actionmailer (4.2.8) lib/action_mailer/base.rb:543:in `block in deliver_mail'
activesupport (4.2.8) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.8) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.8) lib/active_support/notifications.rb:164:in `instrument'
actionmailer (4.2.8) lib/action_mailer/base.rb:541:in `deliver_mail'
mail (2.7.0) lib/mail/message.rb:260:in `deliver'
actionmailer (4.2.8) lib/action_mailer/message_delivery.rb:85:in `deliver_now'
actionmailer (4.2.8) lib/action_mailer/message_delivery.rb:105:in `deliver'
app/controllers/passwords_controller.rb:11:in `create'

1 Ответ

0 голосов
/ 31 октября 2018

Что произойдет, если вы попробуете эти настройки и избавитесь от всего, что у вас есть:

# /config/environments/development.rb

# Gmail configuration
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 587,
  domain:               'example.com',
  user_name:            ENV['EMAIL_USER'],
  password:             ENV['EMAIL_PASS'],
  authentication:       'plain',
  enable_starttls_auto: true
}

Я не уверен, что вам нужно поэкспериментировать с smtper.net, но, возможно, вы увидите это, хотя он очень старый, но, вероятно, все равно должен работать:

http://blog.napcs.com/2013/07/21/rails_ssl_simple_wa/

Вам нужно будет установить эти переменные среды, так как вы, очевидно, никогда не захотите фиксировать учетные данные в вашем git-репо.

Но также просмотрите эти посты, так как вам может потребоваться сделать некоторые другие вещи для gmail

(Ruby) Начало работы Net :: SMTP с Gmail ...?

Rails 4, как правильно настроить параметры smtp (gmail)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...