Skip to content

elixir-saas/resend-elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: "[email protected]",
  from: "[email protected]",
  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: "[email protected]",
  from: "[email protected]",
  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