This example shows how to set up SMTP settings in development, create a mailer, and send a welcome email immediately.
# config/environments/development.rb
Rails.application.configure do
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.example.com',
port: 587,
user_name: 'user@example.com',
password: 'password',
authentication: :plain,
enable_starttls_auto: true
}
end
# app/mailers/user_mailer.rb
class UserMailer < ApplicationMailer
default from: 'notifications@example.com'
def welcome_email(user)
@user = user
mail(to: @user.email, subject: 'Welcome to My Awesome Site')
end
end
# Usage in Rails console or controller
user = OpenStruct.new(email: 'newuser@example.com')
email = UserMailer.welcome_email(user)
email.deliver_now
puts "Email sent to: #{email.to.first} with subject: '#{email.subject}'"