๐ฒ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 installin 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
.envfile:RESEND_API_KEY="re_***************"
Step 4: Set Up Action Mailer
Development Environment: Open
config/environments/development.rband set the delivery method to:letter_openerfor testing emails locally (The Gem is already installed in the boilerplate):config.action_mailer.delivery_method = :letter_openerProduction Environment delivery method: Open
config/environments/production.rband set the delivery method to:resend:config.action_mailer.delivery_method = :resendAPI key in production
Create a new initializer file:
touch app/config/initializers/mailer.rbPaste 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 UserMailerOpen the newly created file
app/mailers/user_mailer.rband 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.erbPath:
app/views/user_mailer/welcome_email.html.erbContent 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 consoleInitialize the mailer with a sample user object:
u = User.new(name: "Derich", email: "[email protected]") mailer = UserMailer.with(user: u).welcome_emailSend 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
endStep 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_openergem.
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?