- Switch from using
HTTPoison
to usingTesla
- Switch from using
Poison
toJason
for JSON serialization SendGrid.Email
is now responsible for configuring its own JSON serialization- An API key can be set manually for any API call as a keyword option, bypassing the need for a global API key
- An API key can be set with the
{:system, "ENV_VAR"}
to use values at runtime - Add dialyzer for validing typespecs
- Add support for dynamic template data
- Add struct for handling Contact Recipient encoding
- Working config added for testing
- Add support for multiple personalizations in a single sent Email request
- Typespecs are now correct
SendGrid.Mailer
has been renamed toSendGrid.Mail
to better reflect the actual shape of SendGrid's API structureSendGrid.Contacts.Recipients.add
now requires a recipient to be built withSendGrid.Contacts.Recipient.build/2
SendGrid.Contacts.Lists.add
returns{:ok, map()}
instead of{:ok, integer()}
.
- Raise runtime error whenever API isn't configured whenever making an API call
- custom headers are properly sent when V3 of the SendGrid API
- Add
add/1
,all_recipients/3
, anddelete_recipient/2
toSendGrid.Contacts.Lists
- Remove compile warnings for
Phoenix.View
- Relax dependency versions
- add
put_phoenix_layout/2
inSendGrid.Email
to render views in
put_phoenix_template/3
now expects an atom for implicit template rendering
- update docs
- upgrade to Elixir 1.4
- add support for Phoenix Views
- update
httpoison
to 0.11.0 andpoison
to 3.0 - clean up compiler warnings when using Elixir 1.3
- add
add_custom_arg
for custom arguments - remove
raise
when no API key is provided at compile-time
- add
add_attachment
for attachments - bump
:poison
version to 2
- add
add_header
to be sent with an email
- replace documentation using to
put_to
withadd_to
- [Mailer] sandbox mode is fetched during runtime instead of compile time
- [Mailer] add missing insertion of template id
- [Email] Make an exposed method private
- [Email] multiple TO recipients can be added with
add_to/2
andadd_to/3
- [Email] BCC recipients can be supported
- [Email] Reply-to name can be specified as third param of
put_reply_to/3
- [Email] added
put_send_at/2
for delayed sending of email - [Mailer] uses V3 of the SendGrid mail send API
- [Mailer] sandbox mode can be enabled through a config setting
put_to/2
no longer exists; useadd_to/2
oradd_to/3
insteadadd_cc/2
when submitting a list of addresses no longer existsput_from_name/2
no longer exists; useput_from/3
and set the from_name as the third paramdelete_cc/2
no longer exists
- Updated HTTPoison version for less compiler warnings when using Elixir 1.3
- Added some API to add email addresses for marketing campaigns
:sendgrid
needs to be added to the list of applications in the mix.exs
file.
def application do
[applications: [:sendgrid]]
end
- Updated some docs