Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Sign up for a SparkPost account and visit our Developer Hub for even more content.

SparkPost Elixir Library

Travis CI Coverage Status

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

  1. Add sparkpost and ibrowse to your list of dependencies in mix.exs:
def deps do
  [
    {:sparkpost, "~> 0.5.1"}
  ]
end
  1. Ensure sparkpost is started before your application:
def application do
  [applications: [:sparkpost]]
end
  1. 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.

Change Log

See ChangeLog here

You can’t perform that action at this time.