Can't fetch config values from config files

I’ve been setting up Bamboo to use for sending emails and the final step I’m taking is setting up the actual mailer to send the email. I’m having trouble getting values from the config files and it seems whatever I put into the config files I can’t read and I don’t think it’s actually a problem with Bamboo but with how I’m doing something.

So I have my mailer

defmodule Recipesite.Emails.Mailer do
  use Bamboo.Mailer, otp_app: :recipesite

And I have my config.exs

config :recipesite, Recipesite.Emails.Mailer,
  adapter: Bamboo.TestAdapter,
  api_key: "api-key"

but when I try to send an email I get an argument error

could not fetch application environment Recipesite.Emails.Mailer for application :recipesite because configuration at Recipesite.Emails.Mailer was not set

and even if I try to use Application.fetch_env!(:recipesite, Recipesite.Emails.Mailer) I get the same error, but calling something that came defined when I created the phoenix app works, like Application.fetch_env!(:recipesite, Recipesite.Repo).

Why can I fetch the preexisting config definitions but not my own? What am I doing wrong here?


In which config file, did you set the mailer config? If it’s in your_project/config/config.exs it should be available when running your app in all environment modes (prod, test, dev) unless you overwritted it for a specific environment config. Even if this is the case, at least a config will be available…
However if for example you set your config just in config/prod.exs, it can’t be fetched in dev mode.

1 Like

I figured it out. I use vscode and I use the search files (ctrl+p) to get to the config and for some reason it was pulling a config from another directory. Not sure why its doing that. But the problem is solved and was due to me not looking carefully at file paths.

Thanks though, your reply got me to carefully look at my path lol.

1 Like