View Source Resend

Run in Livebook

API client for Resend, the new email API for developers.

API

Installation

Install by adding resend to your list of dependencies in mix.exs:

def deps do
  [
    {:resend, "~> 0.4.4"}
  ]
end

Getting Started

Send your first email in two steps:

# Configure your Resend API key
config :resend, Resend.Client, api_key: "re_123456789"
# Send an email
Resend.Emails.send(%{
  to: "me@example.com",
  from: "myapp@example.com",
  subject: "Hello!",
  text: "👋🏻"
})

Elixir script example:

# Save this file as `resend.exs`, run it with `elixir resend.exs`
Mix.install([
  {:resend, "~> 0.4.1"}
])

# Replace with your API key
client = Resend.client(api_key: "re_123456789")

# Replace `:to` and `:from` with valid emails
Resend.Emails.send(client, %{
  to: "me@example.com",
  from: "myapp@example.com",
  subject: "Hello!",
  text: "👋🏻"
})

View additional documentation at https://hexdocs.pm/resend.

Swoosh Adapter

This library includes a Swoosh adapter to make using Resend with a new Phoenix project as easy as possible. All you have to do is configure your Mailer:

config :my_app, MyApp.Mailer,
  adapter: Resend.Swoosh.Adapter,
  api_key: "re_123456789"

View additional documentation at https://hexdocs.pm/resend/Resend.Swoosh.Adapter.html.

Testing

By default, calls to Resend are mocked in tests. To send live emails while running the test suite, set the following environment variables:

RESEND_KEY="re_123456789" \
  RECIPIENT_EMAIL="<to_email>" \
  SENDER_EMAIL="<from_email>" \
  SENT_EMAIL_ID="<existing_email_id>" \
  mix test