Phoenix / Elixir:通过 Gmail 证书发送电子邮件时出错

问题描述 投票:0回答:1

我怀疑这是某种证书问题。

我正在运行 Ubuntu 服务器。

我的 Elixir / Phoenix 代码:

        case Mailer.deliver(email) do
          {:ok, _response} ->
            IO.puts("Email sent successfully.")
          {:error, reason} ->
            IO.puts("Failed to send email.")
            IO.puts("Reason: #{inspect(reason)}")
        end 

我在生产中遇到的错误:

Failed to send email.
Reason: {:retries_exceeded, {:network_failure, ~c"142.250.141.109", {:error, {:options, :incompatible, [verify: :verify_peer, cacerts: :undefined]}}}}

这是我的

config/prod.ex
的相关部分:

config :my_app, MyApp.Mailer,
  adapter: Swoosh.Adapters.SMTP,
  relay: "smtp.gmail.com",
  username: "[email protected]",
  password: "abcd 1234 abcd 1234",
  ssl: true,
  tls: :always,
  auth: :always,
  port: 465,
  retries: 1

我确实尝试过:

$ sudo apt-get install --reinstall ca-certificates

但运气不佳。

投诉好像是Elixir无法使用Gmail的SSL证书,我的理解正确吗?

ssl gmail elixir phoenix-framework
1个回答
0
投票

我没有尝试,但是,因为

cacerts: :undefined
,看来你错过了一个:

cacerts: :public_key.cacerts_get(),

请参阅此错误报告中的详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.