forked from migadu/mailex
1
0
Fork 0

bcc / cc in envelope

This commit is contained in:
Dejan Strbac 2016-02-21 22:29:07 +01:00
parent 905405a46e
commit fe8e2dfbe9
3 changed files with 6 additions and 7 deletions

View File

@ -14,17 +14,17 @@ defmodule Mailex do
config = Keyword.merge(@config_defaults, config || [])
message = email |> Mailex.Render.render
from = email.from |> Mailex.Address.envelope_format
to = email.to |> Mailex.Address.envelope_format
envelope_from = email.from |> Mailex.Address.envelope_format
envelope_to = email.to ++ (email.cc || []) ++ (email.bcc || [])
if Keyword.get(config, :relay) do
envelope = { from, to, message }
envelope = { envelope_from, envelope_to, message }
case :gen_smtp_client.send_blocking(envelope, config) do
{ :error, msg } -> { :error, msg }
msg -> { :ok, msg }
end
else
IO.puts "\n\n[[[ Mailex ]]]\n\nFROM: #{from}\nTO: #{to}\n\nRAW START -------------\n#{message}\nRAW END -------------\n\n"
IO.puts "\n\n[[[ Mailex ]]]\n\nFROM: #{envelope_from}\nTO: #{envelope_to}\n\nRAW START -------------\n#{message}\nRAW END -------------\n\n"
{:ok, "message dumped to console"}
end
end

View File

@ -18,7 +18,7 @@ defmodule Mailex.Address do
List.first |>
String.split(~r/([^\w\s]|_)/) |>
Enum.map(&String.capitalize/1) |>
Enum.join " "
Enum.join(" ")
"#{name} <#{email_address}>"
end
end

View File

@ -112,8 +112,7 @@ defmodule Mailex.Render do
if email.reply_to && (length(email.reply_to) > 0), do:
headers = [ { "Reply-To", email.reply_to |> stringify_addresses } ]
if email.bcc && (length(email.bcc) > 0), do:
headers = [ { "Bcc", email.bcc |> stringify_addresses } | headers ]
# BCC should not go into headers
if email.cc && (length(email.cc) > 0), do:
headers = [ { "Cc", email.cc |> stringify_addresses } | headers ]