我創建了一個Phoenix應用程序,然後添加了用於發送電子郵件的竹模塊,並且今天下午我成功使用Elixir發送了我的第一封電子郵件,但我必須硬編碼用戶名和密碼分成config.exs
。如何爲phoenix框架項目加載環境變量
我讀this article並在我的phoenix項目的根目錄中設置了一個.env文件,並且我試圖在config.exs
文件中使用以下語句加載環境變量。
username: System.get_env("SMTP_USERNAME"),
password: System.get_env("SMTP_PASSWORD"),
但是,郵件沒有被髮送,竹子給我一個相當神祕的錯誤信息。
我使用下面的命令從終端建立鳳應用程序,
iex -S mix
,我手動具有類似於下面的之一的命令發送IEX會話內的電子郵件,
CrjApi.Email.hello_text_email("[email protected]") |> CrjApi.Mailer.deliver_now
但電子郵件只在用戶名/密碼被硬編碼到config.exs
文件時才被髮送。我如何使用我設置的.env
文件,因此我不必將用戶名/密碼硬編碼到config.exs
?
注:我正在運行OS X,並使用魚殼。
如果你進入'iex'並鍵入'System.get_env(「SMTP_USERNAME」)',你會得到期望值嗎?對密碼也一樣。 –
@JustinWood你建議的命令返回'nil'。並感謝您指引我在正確的方向;) – Chris