2016-11-07 3 views
0

Я создаю простую форму для формы электронной почты с помощью actionmailer в приложении Rails 4.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: "[email protected]", 
     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: "[email protected]", 
     password: ENV["MY_EMAIL_PASSWORD"], 
     authentication: 'plain', 
     enable_starttls_auto: true, 
     openssl_verify_mode: 'none' 
    } 

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

Я тройной проверил правописание, капитализации и т.д.

ответ

1

Я не могу видеть эту проблему, но я могу рекомендовать figaro gem. Это позволяет легко справляться с переменными окружения. Попробуйте и дайте мне знать.

+0

Я только что пошел с этим камнем, и он работал как рекламируемый. –

Смежные вопросы