I was following this for sending Gmails from Phoenix whenever someone registers an account.
I modified my user controller to this
def create(conn, %{"_action" => "registered" , "user" => user_params} = params) do
Swoosh.Email.new()
|> Swoosh.Email.to({nil ,user_params["email"]})
|> Swoosh.Email.from({"outsider", "outsideemail@home.here"})
|> Swoosh.Email.subject("FINALLY!")
|> Swoosh.Email.html_body("<h1>FINALLY!</h1>")
|> Swoosh.Email.text_body("FINALLY!\n")
|> Pento.Mailer.deliver()
create(conn, params, "Account created successfully!")
end
And my config/runtime.exs (for I got a warning from console that it’s better to place it there than config/config.exs)
config :pento, Pento.Mailer,
adapter: Swoosh.Adapters.Gmail,
access_token: {:system, "gmail-api-access-token-from-playground"}
I don’t get an email but I get this error
from console
[error] GenServer #PID<0.658.0> terminating
** (stop) :econnaborted
Last message: {:tcp_error, #Port<0.22>, :econnaborted}
State: {%ThousandIsland.Socket{socket: #Port<0.22>, transport_module: ThousandIsland.Transports.TCP, read_timeout: 60000, silent_terminate_on_error: false, span: %ThousandIsland.Telemetry{span_name: :connection, telemetry_span_context: #Reference<0.2682427495.2491154433.212811>, start_time: -8253868621053248, start_metadata: %{handler: Bandit.DelegatingHandler, remote_port: 55554, remote_address: {127, 0, 0, 1}, telemetry_span_context: #Reference<0.2682427495.2491154433.212811>, parent_telemetry_span_context: #Reference<0.2682427495.2491154435.210270>}}}, %{opts: %{http: [ ], websocket: `[ ]`, http_1: [ ], http_2: [ ]}, plug: {Phoenix.Endpoint.SyncCodeReloadPlug, {PentoWeb.Endpoint, [ ]}}, handler_module: Bandit.HTTP1.Handler, http_1_enabled: true, http_2_enabled: true, requests_processed: 40}}






















