Ruby rails: mailer
From wikinotes
Mailers let you use the rails to format and send emails.
Mailers are special controllers inherit from ActionMailer::Base
.
Individual mailers generally inherit from your application's ApplicationMailer
.
Documentation
official docs https://guides.rubyonrails.org/action_mailer_basics.html
Locations
URLs http://localhost:3000/rails/mailers
URL listing all mailer previews Mailers (Controllers) app/mailers/*.rb
app/mailers/application_mailer.rb
views erb/app/views/*
erb/app/views/layouts/mailer.text.erb
plaintext view of email erb/app/views/layouts/mailer.html.erb
html view of email
Commandline
rails generate mailer UserMailer
Example
# app/mailers/application_mailer.rb class ApplicationMailer < ActionMailer::Base default {from: "from@example.com"} # hash of default values for view-attributes layout 'mailer' # ?? end# app/mailers/user_mailer.rb class UserMailer < ApplicationMailer def welcome_email @user = params[:user] @url = 'http://example.com/login' mail(to: @user.email, subject: 'Welcome to My Awesome Site') # builds/returns email object end end