Mam ustawione hasło Sendgrid w pliku zewnętrznym (config/application.yml), który skonfigurowałem z klejnotem Figaro. Działa to dobrze na moim komputerze lokalnym, ale na moim serwerze Dostaję komunikat, że nie zostało ustawione hasło:Serwer produkcyjny nie rozpoznaje zmiennych środowiskowych ustawionych przez Gemę Figaro
ArgumentError (SMTP-AUTH requested but missing secret phrase)
Kiedy zmienić config Sendgrid po prostu tekstu jawnego hasło to działa dobrze, więc zakładam, że Railsy nie rozpoznają zmiennej środowiskowej. Dziwne jest to, że kiedy wejdę w rails console production
i wykonam puts ENV["SENDGRID_PASSWORD"]
, to działa dobrze.
Wszelkie pomysły?
Oto mój Sendgrid config:
config.action_mailer.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:user_name => "chrislawrence",
:password => ENV['SENDGRID_PASSWORD'],
:domain => "lakecinema.net.au",
:authentication => :plain,
:enable_starttls_auto => true
}
uzyskać takie samo zachowanie przy użyciu zmiennej ENV, zestaw do inicjowania, w ramach przedmiotu (w pliku mailer) lub korpusu (ze względu na program pocztowy). Ignoruje ustawioną zmienną ENV, nawet po wyczyszczeniu pamięci podręcznej, ponownym uruchomieniu serwera itp. Wartość jest jednak poprawna w konsoli. Nie używanie Figaro, więc nie jest ograniczone do tego. – JosephK