Packages

Compose, deliver and test your emails easily in Elixir. Supports SMTP, Sendgrid, Mandrill, Postmark, Mailgun and many more out of the box. Preview your emails in the browser. Test your email sending code.

Security advisory: This version has known vulnerabilities. View advisories

Current section

Files

Jump to
swoosh lib swoosh delivery_error.ex
Raw

lib/swoosh/delivery_error.ex

defmodule Swoosh.DeliveryError do
defexception reason: nil, payload: nil
def message(exception) do
formatted = format_error(exception.reason, exception.payload)
"delivery error: #{formatted}"
end
defp format_error(:from_not_set, _), do: "expected \"from\" to be set"
defp format_error(:invalid_email, _), do: "expected %Swoosh.Email{}"
defp format_error(:unsupported_feature, feature),
do: "#{feature} not supported for this adapter"
defp format_error(:api_error, {code, body}),
do: "api error - response code: #{code}. body: #{body}"
defp format_error(:smtp_error, {type, message}),
do: "smtp error - type: #{type}. message: #{message}"
defp format_error(reason, _), do: "#{inspect(reason)}"
end