Приложение Ruby on rails не отправляет электронные письма - PullRequest
0 голосов
/ 03 июля 2018

Я новичок здесь, очень опытный в Linux, очень новый в Ruby.

Я полностью переустановил старый поврежденный сервер Debian 7.8, на котором запущено приложение Ruby On Rails с базой данных PostgreSql.

Чтобы запустить новую установку, мне пришлось изменить Gemfile для адаптации к новым версиям пакетов ruby.

Новый сервер работает под управлением Debian GNU / Linux 9 (stretch), и все пакеты ruby ​​были установлены из пакетов debian для общесистемного использования.

Теперь он работает под управлением ruby ​​2.3.3, очень хорошо. Первый раз, когда я установил такой сервер, я очень горжусь этим.

Но письма не могут быть отправлены из приложения. Я могу отправить электронное письмо с этого сервера с помощью почтовой команды Linux, демон sendmail работает, но приложение ruby ​​не может отправлять электронные письма.

Сначала я получил ошибки, затем изменил почтовые параметры в config / environment / production.rb следующим образом, и больше никаких ошибок, по-видимому, нет:

Rails.application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_files = false
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.log_level = :info
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.action_mailer.smtp_settings = {
    address: "mailserver.com",
    port: 465,
    domain: Rails.application.secrets.domain_name,
    authentication: :plain,
    enable_starttls_auto: true,
    user_name: Rails.application.secrets.email_provider_username,
    password: Rails.application.secrets.email_provider_password
  }
  config.action_mailer.default_url_options = { 
    :host => Rails.application.secrets.domain_name,
    :protocol => 'https' 
  }
  config.action_mailer.default_options = {
    from: "Centre Sesame <contact@mailserver.com>",
    reply_to: "contact@mailserver.com"
  }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end

Я искал в производственных журналах какой-то запрос на отправку электронного письма:

I, [2018-07-02T19:16:08.110776 #17945]  INFO -- : Started GET "/users/password/new" for xx.yyy.zzz.15 at 2018-07-02 19:16:08 +0200
I, [2018-07-02T19:16:08.114272 #17945]  INFO -- : Processing by Devise::PasswordsController#new as HTML
I, [2018-07-02T19:16:08.123870 #17945]  INFO -- :   Rendered devise/passwords/new.html.erb within layouts/application (2.1ms)
I, [2018-07-02T19:16:08.124890 #17945]  INFO -- :   Rendered layouts/_topbar.html.erb (0.2ms)
I, [2018-07-02T19:16:08.125064 #17945]  INFO -- :   Rendered layouts/_messages.html.erb (0.1ms)
I, [2018-07-02T19:16:08.125255 #17945]  INFO -- : Completed 200 OK in 11ms (Views: 9.7ms | ActiveRecord: 0.0ms)
I, [2018-07-02T19:16:11.617686 #17945]  INFO -- : Started POST "/users/password" for xx.yyy.zzz.15 at 2018-07-02 19:16:11 +0200
I, [2018-07-02T19:16:11.619438 #17945]  INFO -- : Processing by Devise::PasswordsController#create as HTML
I, [2018-07-02T19:16:11.619535 #17945]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"yI1T7u39N/xxxxxxxxxxxxxxxl8EqvuXupFiijmMtMDHimdtsGMIKkF9HzP17PMsEflWdFn/g==", "user"=>{"email"=>"name@yahoo.fr"}, "commit"=>"Valider"}
I, [2018-07-02T19:16:11.630951 #17945]  INFO -- :   Rendered devise/passwords/new.html.erb within layouts/application (3.8ms)
I, [2018-07-02T19:16:11.632109 #17945]  INFO -- :   Rendered layouts/_topbar.html.erb (0.2ms)
I, [2018-07-02T19:16:11.632296 #17945]  INFO -- :   Rendered layouts/_messages.html.erb (0.1ms)
I, [2018-07-02T19:16:11.632480 #17945]  INFO -- : Completed 200 OK in 13ms (Views: 6.2ms | ActiveRecord: 0.5ms)

Где мне искать подробности? Я что-то пропустил?

Видимо, все правильно, без ошибок.

Где я должен найти ошибки.

Конечно, я проверил учетные данные электронной почты на почтовом сервере.

Не могли бы вы помочь?

Большое спасибо.

Patrick

...