Я новичок здесь, очень опытный в 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