Awesome
<a href="https://www.sparkpost.com"><img src="https://www.sparkpost.com/sites/default/files/attachments/SparkPost_Logo_2-Color_Gray-Orange_RGB.svg" width="200px"/></a>
Sign up for a SparkPost account and visit our Developer Hub for even more content.
SparkPost Elixir Library
The official Elixir package for the SparkPost API.
Capabilities include:
- convenience functions for easy "I just want to send mail" users
- advanced functions for unleashing all of Sparkpost's capabilities
Installation
- Add sparkpost and ibrowse to your list of dependencies in
mix.exs
:
def deps do
[
{:sparkpost, "~> 0.5.1"}
]
end
- Ensure sparkpost is started before your application:
def application do
[applications: [:sparkpost]]
end
- Update your dependencies:
$ mix deps.get
Usage
Configuration
In your config/config.exs file:
config :sparkpost, api_key: "YOUR-API-KEY"
Option 1: Convenience
defmodule MyApp.Example do
def send_message do
SparkPost.send to: "you@example.com",
from: "elixir@sparkpostbox.com",
subject: "Sending email from Elixir is awesome!",
text: "Hi there!",
html: "<p>Hi there!</p>"
end
end
Option 2: Full SparkPost API
defmodule MyApp.Example do
alias SparkPost.{Content, Recipient, Transmission}
def send_message do
Transmission.send(%Transmission{
recipients: [ "you@example.com" ],
content: %Content.Inline{
subject: "Sending email from Elixir is awesome!",
from: "elixir@sparkpostbox.com",
text: "Hi there!",
html: "<p>Hi there!</p>"
}
})
end
end
Start your app and send a message:
$ iex -S mix
iex> MyApp.Example.send_message
{:ok, ...}
Contribute
We welcome your contributions! See CONTRIBUTING.md for details on how to help out.