View Source Swoosh.Adapters.Brevo (Swoosh v1.17.3)

An adapter that sends email using the Brevo API (Transactional emails only).

For reference: Brevo API docs

This adapter requires an API Client. Swoosh comes with Hackney, Finch and Req out of the box. See the installation section for details.

Example

# config/config.exs
config :sample, Sample.Mailer,
  adapter: Swoosh.Adapters.Brevo,
  api_key: "my-api-key"

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

Using with provider options

import Swoosh.Email

new()
|> from("nora@example.com")
|> to("shushu@example.com")
|> subject("Hello, Wally!")
|> text_body("Hello")
|> put_provider_option(:id, 42)
|> put_provider_option(:template_id, 42)
|> put_provider_option(:params, %{param1: "a", param2: 123})
|> put_provider_option(:tags, ["tag_1", "tag_2"])
|> put_provider_option(:schedule_at, ~U[2022-11-15 11:00:00Z])

Provider Options

  • sender_id (integer) - sender, the sender id where this library will add email obtained from the from/1

  • template_id (integer) - templateId, the Id of the active transactional email template

  • params (map) - params, a map of key/value attributes to customize the template

  • tags (list[string]) - tags, a list of tags for each email for easy filtering

  • schedule_at (UTC DateTime) - schedule_at, a UTC date-time on which the email has to schedule

Summary

Functions

deliver(email, config \\ [])

Callback implementation for Swoosh.Adapter.deliver/2.

validate_config(config)

Callback implementation for Swoosh.Adapter.validate_config/1.

validate_dependency()

Callback implementation for Swoosh.Adapter.validate_dependency/0.