Переменные среды Rails 4 action mailer

Я создаю простую форму для отправки по электронной почте с помощью actionmailer в приложении Rails 4.

Когда я использую следующие настройки в моем файле development.rb, все работает нормально:

  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
      address: "mail.hover.com",
      port: 587,
      domain: "blah.com",
      user_name: "dennis@blah.com",
      password: "thisBeMyPassword",
      authentication: 'plain',
      enable_starttls_auto: true,
      openssl_verify_mode: 'none'
  }

Но когда я пытаюсь использовать переменную ENV в своем коде, я получаю ошибку аутентификации:

  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
      address: "mail.hover.com",
      port: 587,
      domain: "blah.com",
      user_name: "dennis@blah.com",
      password: ENV["MY_EMAIL_PASSWORD"],
      authentication: 'plain',
      enable_starttls_auto: true,
      openssl_verify_mode: 'none'
  }

Я вижу эту переменную в терминале, когда использую printenv в консоли и когда я втыкаю puts ENV["MY_EMAIL_PASSWORD"] в коде.

Я трижды проверил орфографию, заглавные буквы и т. Д.

1 ответ

Решение

Я не вижу проблемы, но могу порекомендовать драгоценность фигаро. Это действительно облегчает обработку переменных среды. Попробуйте и дайте мне знать.

Другие вопросы по тегам