Swoosh.Adapters.SparkPost (Swoosh v1.5.0) View Source

An adapter that sends email using the SparkPost API.

For reference: SparkPost API docs

Example

# config/config.exs
config :sample, Sample.Mailer,
  adapter: Swoosh.Adapters.SparkPost,
  api_key: "my-api-key",
  endpoint: "https://api.sparkpost.com/api/v1"
  # or "https://YOUR_DOMAIN.sparkpostelite.com/api/v1" for enterprise

# lib/sample/mailer.ex
defmodule Sample.Mailer do
  use Swoosh.Mailer, otp_app: :sample
end

Using with SparkPost templates

import Swoosh.Email

new()
|> from("tony.stark@example.com")
|> to("steve.rogers@example.com")
|> subject("Hello, Avengers!")
|> put_provider_option(:template_id, "my-first-email")
|> put_provider_option(:substitution_data, %{
  first_name: "Peter",
  last_name: "Parker"
})

Setting SparkPost transmission options

Full options can be found at SparkPost Transmissions API Docs

import Swoosh.Email

new()
|> from("tony.stark@example.com")
|> to("steve.rogers@example.com")
|> subject("Hello, Avengers!")   
|> put_provider_option(:options, %{
  click_tracking: false,
  open_tracking: false,
  transactional: true,
  inline_css: true
})

Link to this section Summary

Link to this section Functions

Callback implementation for Swoosh.Adapter.validate_config/1.

Callback implementation for Swoosh.Adapter.validate_dependency/0.