        headers: %{}, html_body: nil, private: %{}, provider_options: %{},
        reply_to: {"", "steve@rogers.com"}, subject: "", text_body: nil, to: []}
   """
+  @spec reply_to(t, mailbox | address) :: t
   def reply_to(%__MODULE__{} = email, reply_to) do
     reply_to = format_recipient(reply_to)
     %{email | reply_to: reply_to}

       private: %{}, provider_options: %{}, reply_to: nil, subject: "Hello, Avengers!",
       text_body: nil, to: []}
  """
  def subject(email, subject), do: %{email|subject: subject}

  @doc """

            html_body: nil, attachments: nil, reply_to: nil, headers: %{},
            private: %{}, assigns: %{}, provider_options: %{}

  @type name :: String.t
  @type address :: String.t
  @type mailbox :: {name, address}
  @type subject :: String.t
  @type text_body :: String.t
  @type html_body :: String.t

  @type t :: %__MODULE__{subject: String.t,
                         from: mailbox | nil,
                         to: [mailbox],
                         cc: [mailbox] | [],
                         bcc: [mailbox] | [],
                         text_body: text_body | nil,
                         html_body: html_body | nil,
                         reply_to: mailbox | nil,
                         headers: map,
                         private: map,
                         assigns: map,
                         provider_options: map}

  @doc """
  Sets a recipient in the `from` field.

