Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/resend/resend-rails-example
Example Rails APP showcasing how to use the Resend Rails SDK with Active Mailer
https://github.com/resend/resend-rails-example
Last synced: 5 days ago
JSON representation
Example Rails APP showcasing how to use the Resend Rails SDK with Active Mailer
- Host: GitHub
- URL: https://github.com/resend/resend-rails-example
- Owner: resend
- Created: 2022-12-30T14:47:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T14:50:10.000Z (16 days ago)
- Last Synced: 2024-11-04T15:46:45.810Z (16 days ago)
- Language: Ruby
- Size: 85 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This is an example rails app on how to configure and use the [Resend Rails SDK](https://github.com/drish/resend-ruby) with Rails Action Mailer
# Setup
Add the gem to your Gemfile:
```ruby
# Gemfile
gem "resend"
```Create a `/config/initializers/mailer.rb` file and add the following configuration line.
```
Resend.api_key = ENV['RESEND_API_KEY']
```Add these lines of code into your environment config file.
```rb
# Setup resend as the email method
config.action_mailer.delivery_method = :resend
```Checkout the [Rails example app with SMTP setup](https://github.com/resendlabs/resend-rails-smtp-example) for SMTP support example.
Create your mailer class
```ruby
# /app/mailers/user_mailer.rb
class UserMailer < ApplicationMailer
default from: '[email protected]' # this domain must be verified with Resend
def welcome_email
@user = params[:user]
attachments["invoice.pdf"] = File.read(Rails.root.join("resources","invoice.pdf"))
@url = "http://example.com/login"
mail(
to: ["[email protected]"],
cc: ["[email protected]"],
bcc: ["[email protected]"],
reply_to: "[email protected]",
subject: "Hello from Rails",
)
end
end
```Create your `ERB Template` for `UserMailer`
```ruby
# /app/views/welcome_email.html.erb
Welcome to example.com, <%= @user.name %>
You have successfully signed up to example.com,
To login to the site, just follow this link: <%= @url %>.
Thanks for joining and have a great day!
```
Now you can send your emails, lets send it using Rails console.
```sh
bundle exec rails c
```Initialize your `UserMailer` class, this should return a `UserMailer` instance.
```ruby
u = User.new name: "derich"
mailer = UserMailer.with(user: u).welcome_email
# => #, , , ...
```You can now send emails with:
```ruby
mailer.deliver_now!
# => {:id=>"a193c81e-9ac5-4708-a569-5caf14220539", :from=>....}
```