Ich habe eine Phoenix-App erstellt, dann das Bambus-Modul zum Senden von E-Mails hinzugefügt und meine erste E-Mail mit Elixir heute Nachmittag geschickt, aber ich musste den Benutzernamen und Passwort config.exs
.
Ich habe diesen Artikel gelesen und eine .env-Datei eingerichtet in der Wurzel von meinem Phoenix-Projekt, und ich versuche, die Umgebungsvariablen mit den folgenden Aussagen innerhalb der config.exs
-Datei zu laden.
Allerdings werden die E-Mails nicht gesendet, und Bambus gibt mir eine ziemlich kryptische Fehlermeldung.
Ich baue die Phoenix-App mit dem folgenden Befehl aus dem Terminal,
%Vor%und ich sende die E-Mails manuell in einer iex-Sitzung mit einem Befehl ähnlich dem folgenden,
%Vor% aber die E-Mails werden nur gesendet, wenn der Benutzername / das Passwort in der config.exs
-Datei fest codiert sind. Wie kann ich die .env
Datei verwenden, die ich eingerichtet habe, damit ich den Benutzernamen / das Passwort nicht fest in die config.exs
schreiben muss?
Hinweis: Ich verwende OS X und verwende die Fischhülle.
Ich habe am Ende eine smtp.exs
Datei im Verzeichnis config
erstellt, die wie folgt aussieht,
smtp.exs
%Vor% und fügte dann config.exs
import_config "smtp.exs"
Wenn ich nun die Anwendung mit iex -S mix
lade, wird sie immer in diese Anwendungsvariablen geladen, und ich habe keine Quellumgebungsvariable für jede Terminalsitzung.
Sie können das conform-Modul in Ihrem Projekt verwenden. Ссылка
Dies ist ein Hilfsmodul, das Ihnen die Möglichkeit bietet, die env-Konfiguration zur Laufzeit zu lesen.
config.exs Beispiel
%Vor%In Ihrem Modul
%Vor%In Ihren iex-Typ
%Vor%Wie der Artikel, über den Sie geschrieben haben, verwende ich ENV vars für Phoenix von meinem System. Erstellen Sie sie einfach über den Export:
export SMTP_USERNAME=you_variable
und so weiter und Phoenix wird sie sehen und zur Startzeit des Servers kommen. Es ist auch möglich, .env-Datei zu verwenden, aber ich verwende es nur mit 'Heroku local'.
Überprüfen Sie dieses Hex dotenv_elixir , aber es ist wirklich kein Elixier Weg.
Sie können alle Ihre Umgebungsvariablen in eine Datei mit dem Namen .env.dev
oder .env.prod
setzen (vergessen Sie nicht, .env.*
zur Datei .gitignore hinzuzufügen):
Laden Sie diese Datei und führen Sie den Phoenix-Server aus:
%Vor%Denken Sie daran, diese Syntax zu verwenden
%Vor%Anstelle dessen
%Vor%um ENV-Variablen zur Laufzeit zu laden.
Tags und Links elixir phoenix-framework