SparkPost client library for Elixir https://developers.sparkpost.com
Elixir
Latest commit ecbf17a Nov 3, 2016 @ewandennis ewandennis committed on GitHub Merge pull request #24 from SparkPost/issues-19-20-21-22-23
0.2.1 candidate
Permalink
Failed to load latest commit information.
config Fixes #12: Aug 22, 2016
examples
lib
test
.gitignore Ignore generated docs Jan 21, 2016
.travis.yml
CHANGELOG.md
CONTRIBUTING.md Use 0.1.0 for initial release Jan 21, 2016
LICENSE.md Add LICENSE Dec 10, 2015
README.md add slack community badge Feb 28, 2016
mix.exs 0.2.1 candidate Nov 3, 2016
mix.lock

README.md

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

SparkPost Elixir Library

Travis CI Coverage Status Slack 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
      [
        {:ibrowse, github: "cmullaparthi/ibrowse", tag: "v4.1.2"},
        {:sparkpost, "~> 0.1.0"}
      ]
    end
  2. Ensure sparkpost is started before your application:

    def application do
      [applications: [:sparkpost]]
    end
  3. 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" ],
        return_path: "elixir@sparkpostbox.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