๐ฒResend
This guide outlines how to install and configure the Resend Gem for sending transactional emails in your Lightning Rails project.

Recommended: Use the code generator for a 1-line setup from the terminal and skip all the manual setup ๐
bash generators/setup_resend.sh
Or follow these steps:
Step 1: Create a Resend Account
Go to the Resend website.
Sign up and create an account to access your API key.
Step 2: Add the Resend Gem
Open your
Gemfile
.Add the Resend gem in your Gemfile:
gem "resend"
Run
bundle install
in your terminal to install the gem.bundle install
Step 3: Configure Your API Key
Locate your API key from the Resend dashboard.
Add the API key to your
.env
file:RESEND_API_KEY="re_***************"
Step 4: Set Up Action Mailer
Development Environment: Open
config/environments/development.rb
and set the delivery method to:letter_opener
for testing emails locally (The Gem is already installed in the boilerplate):config.action_mailer.delivery_method = :letter_opener
Production Environment delivery method: Open
config/environments/production.rb
and set the delivery method to:resend
:config.action_mailer.delivery_method = :resend
API key in production
Create a new initializer file:
touch app/config/initializers/mailer.rb
Paste your API key, and make sure your API key is set in your hosting provider:
Resend.api_key = ENV["RESEND_API_KEY"]
(Optional) Welcome Email
Step 5: Create Your First Mailer
Generate a new mailer:
rails generate mailer UserMailer
Open the newly created file
app/mailers/user_mailer.rb
and define a mailer method. For example:class UserMailer < ApplicationMailer def welcome_email @user = params[:user] mail(to: @user.email, subject: "Welcome to Our App!") end end
Step 6: Add HTML Content for the Email
Create a corresponding view file for the mailer:
touch app/views/user_mailer/welcome_email.html.erb
Path:
app/views/user_mailer/welcome_email.html.erb
Content example:
<h1>Welcome to Our App, <%= @user.name %>!</h1> <p>Weโre excited to have you on board.</p>
Step 7: Initialize and Send the Mailer
Open the Rails console:
rails console
Initialize the mailer with a sample user object:
u = User.new(name: "Derich", email: "[email protected]") mailer = UserMailer.with(user: u).welcome_email
Send the email:
mailer.deliver_now!
Add an auto-welcome message to welcome your users in
user.rb
class User < ApplicationRecord
#ย [...]
after_create :send_welcome_email
def send_welcome_email
UserMailer.with(user: self).welcome_email.deliver_now
end
end
Step 8: Verify the Email
Check the recipient's inbox to confirm the email has been sent successfully.
If testing in development, verify the email opens correctly using the
letter_opener
gem.
That's it! Youโve successfully set up the Resend Gem for sending transactional an marketing emails in your Lightning Rails project, you can enjoy 100 free emails per month.
Last updated
Was this helpful?