34 lines
890 B
Elixir
34 lines
890 B
Elixir
defmodule Mobilizon.Web.Email.Mailer do
|
|
@moduledoc """
|
|
Mobilizon Mailer.
|
|
"""
|
|
use Bamboo.Mailer, otp_app: :mobilizon
|
|
alias Mobilizon.Service.ErrorReporting.Sentry
|
|
|
|
@spec send_email_later(Bamboo.Email.t()) :: Bamboo.Email.t()
|
|
def send_email_later(email) do
|
|
Mobilizon.Web.Email.Mailer.deliver_later!(email)
|
|
rescue
|
|
error ->
|
|
Sentry.capture_exception(error,
|
|
stacktrace: __STACKTRACE__,
|
|
extra: %{extra: "Error while sending email"}
|
|
)
|
|
|
|
reraise error, __STACKTRACE__
|
|
end
|
|
|
|
@spec send_email(Bamboo.Email.t()) :: Bamboo.Email.t() | {Bamboo.Email.t(), any()}
|
|
def send_email(email) do
|
|
Mobilizon.Web.Email.Mailer.deliver_now!(email)
|
|
rescue
|
|
error ->
|
|
Sentry.capture_exception(error,
|
|
stacktrace: __STACKTRACE__,
|
|
extra: %{extra: "Error while sending email"}
|
|
)
|
|
|
|
reraise error, __STACKTRACE__
|
|
end
|
|
end
|