2020-01-26 21:36:50 +01:00
|
|
|
defmodule Mobilizon.Web.Email.Mailer do
|
2018-10-11 17:37:39 +02:00
|
|
|
@moduledoc """
|
2019-09-07 23:58:53 +02:00
|
|
|
Mobilizon Mailer.
|
2018-10-11 17:37:39 +02:00
|
|
|
"""
|
2022-04-05 12:16:22 +02:00
|
|
|
use Swoosh.Mailer, otp_app: :mobilizon
|
2021-06-27 13:15:24 +02:00
|
|
|
alias Mobilizon.Service.ErrorReporting.Sentry
|
2023-08-17 10:35:03 +02:00
|
|
|
require Logger
|
2021-04-20 15:02:24 +02:00
|
|
|
|
2022-05-02 12:08:00 +02:00
|
|
|
@spec send_email(Swoosh.Email.t()) :: {:ok, term} | {:error, term}
|
2021-04-20 15:02:24 +02:00
|
|
|
def send_email(email) do
|
2023-08-17 10:35:03 +02:00
|
|
|
Logger.debug(
|
|
|
|
"Mailer options #{inspect(Keyword.drop(Application.get_env(:mobilizon, Mobilizon.Web.Email.Mailer), [:tls_options]))}"
|
|
|
|
)
|
|
|
|
|
|
|
|
Logger.debug("Sending mail, #{inspect(email)}")
|
|
|
|
res = Mobilizon.Web.Email.Mailer.deliver(email)
|
|
|
|
Logger.debug("Return from sending mail #{inspect(res)}")
|
|
|
|
res
|
2021-04-20 15:27:33 +02:00
|
|
|
rescue
|
|
|
|
error ->
|
|
|
|
Sentry.capture_exception(error,
|
|
|
|
stacktrace: __STACKTRACE__,
|
|
|
|
extra: %{extra: "Error while sending email"}
|
|
|
|
)
|
2021-04-20 15:02:24 +02:00
|
|
|
|
2021-04-20 15:27:33 +02:00
|
|
|
reraise error, __STACKTRACE__
|
2021-04-20 15:02:24 +02:00
|
|
|
end
|
2018-10-11 17:37:39 +02:00
|
|
|
end
|