29 lines
813 B
Elixir
29 lines
813 B
Elixir
defmodule Mobilizon.Web.Email.Mailer do
|
|
@moduledoc """
|
|
Mobilizon Mailer.
|
|
"""
|
|
use Swoosh.Mailer, otp_app: :mobilizon
|
|
alias Mobilizon.Service.ErrorReporting.Sentry
|
|
require Logger
|
|
|
|
@spec send_email(Swoosh.Email.t()) :: {:ok, term} | {:error, term}
|
|
def send_email(email) do
|
|
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
|
|
rescue
|
|
error ->
|
|
Sentry.capture_exception(error,
|
|
stacktrace: __STACKTRACE__,
|
|
extra: %{extra: "Error while sending email"}
|
|
)
|
|
|
|
reraise error, __STACKTRACE__
|
|
end
|
|
end
|