Ruby on Rails

Integrate MailSetu with Rails ActionMailer as a custom delivery method.

Installation

bash
# Gemfile
gem 'mailsetu'

# then:
bundle install

Configure ActionMailer

Add MailSetu as your ActionMailer delivery method:

ruby
# config/environments/production.rb
config.action_mailer.delivery_method = :mailsetu
config.action_mailer.mailsetu_settings = {
  api_key: ENV["MAILSETU_API_KEY"]
}

Create a mailer

ruby
# app/mailers/user_mailer.rb
class UserMailer < ApplicationMailer
  default from: "noreply@yourdomain.com"

  def welcome_email(user)
    @user = user
    mail(to: @user.email, subject: "Welcome to our app!")
  end
end

Send from a controller

ruby
# In a controller or background job:
UserMailer.welcome_email(@user).deliver_later