File size: 635 Bytes
8da2481 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | defmodule Plausible.Mailer do
use Bamboo.Mailer, otp_app: :plausible
require Logger
@spec send(Bamboo.Email.t()) :: :ok | {:error, :unknown_error}
def send(email) do
try do
deliver_now!(email)
rescue
e ->
# this message is ignored by Sentry, only appears in logs
log = "Failed to send e-mail:\n\n " <> Exception.format(:error, e, __STACKTRACE__)
# Sentry report is built entirely from crash_reason
crash_reason = {e, __STACKTRACE__}
Logger.error(log, crash_reason: crash_reason)
{:error, :unknown_error}
else
_sent_email -> :ok
end
end
end
|