veekram / ruby-sparkpost

Discontinued on May 17, 2016, see more info below.

Home Page:https://developers.sparkpost.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

SparkPost Ruby API Client

Travis CI Coverage Status Slack Status

Due to incredible support and contributions from the community, we will be discontinuing support of the official SparkPost ruby client library as of May 17, 2016. If you’re looking for an alternative, take a look at some of these repositories.

Installation

Add this line to your application's Gemfile:

gem 'sparkpost'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sparkpost

Important: Implementations may change frequently until we reach v1.0.0

Usage

Send an email

require 'sparkpost'

sp = SparkPost::Client.new() # api key was set in ENV through ENV['SPARKPOST_API_KEY']
response = sp.transmission.send_message('RECIPIENT_EMAIL', 'SENDER_EMAIL', 'test email', '<h1>HTML message</h1>')
puts response

# {"total_rejected_recipients"=>0, "total_accepted_recipients"=>1, "id"=>"123456789123456789"}

Send email with substitution data

require 'sparkpost'

values = { substitution_data: { name: 'Sparky'}}
sp = SparkPost::Client.new() # pass api key or get api key from ENV
response = sp.transmission.send_message('RECIPIENT_EMAIL', 'SENDER_EMAIL', 'testemail', '<h1>HTML message from {{name}}</h1>', values)
puts response

# {"total_rejected_recipients"=>0, "total_accepted_recipients"=>1, "id"=>"123456789123456789"}

Send email with attachment

You need to base64 encode of your attachment contents.

require 'sparkpost'

# assuming there is a file named attachment.txt in the same directory
attachment = Base64.encode64(File.open(File.expand_path('../attachment.txt', __FILE__), 'r') { |f| f.read })

# prepare attachment data to pass to send_message method
values = {
    attachments: [{
        name: 'attachment.txt',
        type: 'text/plain',
        data: attachment
    }]
}

sp = SparkPost::Client.new() # pass api key or get api key from ENV
sp.transmission.send_message('RECIPIENT_EMAIL', 'SENDER_EMAIL', 'testemail', '<h1>Email with an attachment</h1>', values)

Search the suppression list

require 'sparkpost'

sp = SparkPost::Client.new() # pass api key or get api key from ENV
sp.suppression_list.search

See: examples

About

Discontinued on May 17, 2016, see more info below.

https://developers.sparkpost.com

License:Other


Languages

Language:Ruby 99.7%Language:Shell 0.3%