diff --git a/lib/bamboo/adapters/smtp_adapter.ex b/lib/bamboo/adapters/smtp_adapter.ex index 1cc3e0b..20e0b2e 100644 --- a/lib/bamboo/adapters/smtp_adapter.ex +++ b/lib/bamboo/adapters/smtp_adapter.ex @@ -71,11 +71,18 @@ defmodule Bamboo.SMTPAdapter do config |> to_gen_smtp_server_config - email - |> Bamboo.Mailer.normalize_addresses() - |> to_gen_smtp_message - |> config[:transport].send_blocking(gen_smtp_config) - |> handle_response + response = + try do + email + |> Bamboo.Mailer.normalize_addresses() + |> to_gen_smtp_message + |> config[:transport].send_blocking(gen_smtp_config) + catch + e -> + raise SMTPError, {:not_specified, e} + end + + handle_response(response) end @doc false @@ -96,6 +103,10 @@ defmodule Bamboo.SMTPAdapter do raise SMTPError, {reason, detail} end + defp handle_response({:error, detail}) do + raise SMTPError, {:not_specified, detail} + end + defp handle_response(response) do {:ok, response} end