vincentopensourcetai

vincentopensourcetai

I use Phoenix 1.7, “mix phx.gen.auth”, and set up my email with the following code.

# config/config.exs
config :hello, Hello.Mailer,
    adapter: Swoosh.Adapters.Sendgrid,
    api_key: System.get_env("SENDGRID_API_KEY")

config :swoosh, :api_client, Swoosh.ApiClient.Finch

When I register a user, I get the following error message.

[error] GenServer #PID<0.601.0> terminating
** (UndefinedFunctionError) function false.post/4 is undefined (module false is not available)
    false.post(["https://api.sendgrid.com/v3", "/mail/send"], [{"Content-Type", "application/json"}, {"User-Agent", "swoosh/1.9.1"}, {"Authorization", "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}], "{\"content\":[{\"type\":\"text/plain\",\"value\":\"\\n==============================\\n\\nHi vincent.open.source.taiwan@gmail.com,\\n\\nYou can confirm your account by visiting the URL below:\\n\\nhttp://localhost:4000/users/confirm/uejATJ8x_lsnnYTnEH7s_GMOUztU_jubWsIc4ovHeVg\\n\\nIf you didn't create an account with us, please ignore this.\\n\\n==============================\\n\"}],\"from\":{\"email\":\"service@word.today\",\"name\":\"Hello\"},\"personalizations\":[{\"to\":[{\"email\":\"vincent.open.source.taiwan@gmail.com\"}]}],\"subject\":\"Confirmation instructions\"}", %Swoosh.Email{subject: "Confirmation instructions", from: {"Hello", "service@word.today"}, to: [{"", "vincent.open.source.taiwan@gmail.com"}], cc: [], bcc: [], text_body: "\n==============================\n\nHi vincent.open.source.taiwan@gmail.com,\n\nYou can confirm your account by visiting the URL below:\n\nhttp://localhost:4000/users/confirm/uejATJ8x_lsnnYTnEH7s_GMOUztU_jubWsIc4ovHeVg\n\nIf you didn't create an account with us, please ignore this.\n\n==============================\n", html_body: nil, attachments: [], reply_to: nil, headers: %{}, private: %{}, assigns: %{}, provider_options: %{}})
    (swoosh 1.9.1) lib/swoosh/adapters/sendgrid.ex:128: Swoosh.Adapters.Sendgrid.deliver/2
    (hello 0.1.0) lib/hello/mailer.ex:2: anonymous fn/2 in Hello.Mailer.instrument/3
    (telemetry 1.2.1) /Users/vincentlin/projects/hello/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (hello 0.1.0) lib/hello/accounts/user_notifier.ex:15: Hello.Accounts.UserNotifier.deliver/3
    (hello 0.1.0) lib/hello_web/live/user_registration_live.ex:60: HelloWeb.UserRegistrationLive.handle_event/3
    (phoenix_live_view 0.18.16) lib/phoenix_live_view/channel.ex:396: anonymous fn/3 in Phoenix.LiveView.Channel.view_handle_event/3
    (telemetry 1.2.1) /Users/vincentlin/projects/hello/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
    (phoenix_live_view 0.18.16) lib/phoenix_live_view/channel.ex:216: Phoenix.LiveView.Channel.handle_info/2
    (stdlib 4.2) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib 4.2) gen_server.erl:1200: :gen_server.handle_msg/6
    (stdlib 4.2) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: %Phoenix.Socket.Message{topic: "lv:phx-F0dIUxRFO5LYlQKD", event: "event", payload: %{"event" => "save", "type" => "form", "value" => "_csrf_token=Jx9bNy8wHDIlPwQMen0McHALCTIGdxcCwfhTNylmIkI45DXI3NBgQZXJ&user%5Bemail%5D=vincent.open.source.taiwan%40gmail.com&user%5Bpassword%5D=12345678901234567890"}, ref: "35", join_ref: "33"}
State: %{components: {%{}, %{}, 1}, join_ref: "33", serializer: Phoenix.Socket.V2.JSONSerializer, socket: #Phoenix.LiveView.Socket<id: "phx-F0dIUxRFO5LYlQKD", endpoint: HelloWeb.Endpoint, view: HelloWeb.UserRegistrationLive, parent_pid: nil, root_pid: #PID<0.601.0>, router: HelloWeb.Router, assigns: %{__changed__: %{}, check_errors: false, current_user: nil, flash: %{}, form: nil, live_action: :new, trigger_submit: false}, transport_pid: #PID<0.594.0>, ...>, topic: "lv:phx-F0dIUxRFO5LYlQKD", upload_names: %{}, upload_pids: %{}}

How do I solve the error?

Many thanks for your replying.

Showing Posts 1 to 3

jerdew

jerdew

Could your config be set to ‘false’ in an environment specific config?

It looks like you may have config :swoosh, :api_client, false set somewhere

vincentopensourcetai

vincentopensourcetai OP

Many thanks for your reply.

I update my config as follows and it works.

# config/config.exs
config :hello, Hello.Mailer,
       adapter: Swoosh.Adapters.Sendgrid,
       api_key: System.get_env("SENDGRID_API_KEY")
# config/dev.exs
config :swoosh, api_client: Swoosh.ApiClient.Finch, finch_name: Hello.Finch
rio517

rio517

I ran into a loosly related issue and just wanted to document it somewhere.

(ArgumentError) unknown registry: PetalPro.Finch
 (elixir 1.14.4) lib/registry.ex:1382: Registry.key_info!/1
 (elixir 1.14.4) lib/registry.ex:580: Registry.lookup/2
 (finch 0.15.0) lib/finch/pool_manager.ex:44: Finch.PoolManager.lookup_pool/2
 (finch 0.15.0) lib/finch/pool_manager.ex:34: Finch.PoolManager.get_pool/2
 (finch 0.15.0) lib/finch.ex:284: Finch.__stream__/5
 (finch 0.15.0) lib/finch.ex:324: anonymous fn/4 in Finch.request/3
 (telemetry 1.2.1) /app/deps/telemetry/src/telemetry.erl:321: :telemetry.span/3
 (swoosh 1.9.1) lib/swoosh/api_client/finch.ex:59: Swoosh.ApiClient.Finch.post/4

The :finch_name didn’t match what was set in my application.ex supervisory tree.

— All posts loaded —

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews