Devise Mailer не отправляет письма в производственной среде - PullRequest
0 голосов
/ 29 ноября 2018

Я установил приложение рельсов во внутренней сети компании.Я использую Devise::Mailer для подтверждения регистрации, восстановления пароля и т. Д. У меня также есть свой собственный класс почтовых программ, полученный из ActionMailer::Base.В среде разработки оба типа почтовых программ работают нормально, но в производственной среде, похоже, работает только мой пользовательский почтовый.

В обеих средах конфигурация почты одинакова:

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default_url_options = { host: 'my.internal.ip.address', port: 80 }
  config.action_mailer.asset_host = "http://my.internal.ip.address"

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.smtp_settings = {
    :address              => 'internal.mail.server',
    :port                 => 25,
    :domain               => 'domain.name'
  }

ЭтоSMTP-сервер не требует аутентификации.

В config/initializers/devise.rb я установил адрес отправителя следующим образом:

  config.mailer_sender = "myaddress@domain.name"

Я попытался установить config.action_mailer.delivery_method в :file впроизводственная среда.В этом случае письма, отправленные с моего настраиваемого почтовика, записываются в файлы, но письма, отправленные с почтового устройства Devise, не являются.

Как я могу заставить почтовый почтовый ящик работать в производственной среде?

Обновление

Я скопировал файл config/environments/production.rb в config/environments/development.rb, и он все еще работает в режиме разработки, но все еще не в рабочем режиме.

1 Ответ

0 голосов
/ 30 ноября 2018

Все конфигурации, которые вы установили в режиме разработки, будут затем работать в производственном режиме, вам нужно перенастроить URL-адрес почтовой программы по умолчанию - я не могу представить, что my.internal.ip.address является действительным host в производственном режиме.Вы должны изменить это имя домена или IP-адрес, на котором размещен код приложения.

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