I'm trying to use ActionMailer to automatically send a user an email. However, after save of the user, which should trigger the email. I don't see that any message has been sent to my inbox. The save took place without mistakes, but the mail never arrived. What is the problem?
mailers
class OrderNotifier < ActionMailer::Base default from: "[email protected]" def received(order) @order = order mail to: order, subject: 'Pragmatic Store Order Confirmation' end end development.rb
Depot::Application.configure do # Settings specified here will take precedence over those in config/application.rb. # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Do not eager load code on boot. config.eager_load = false # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger. config.active_support.deprecation = :log # Raise an error on page load if there are pending migrations config.active_record.migration_error = :page_load # Debug mode disables concatenation and preprocessing of assets. # This option may cause significant delays in view rendering with a large # number of complex assets. config.assets.debug = true config.action_mailer.delivery_method = :sendmail config.action_mailer.delivery_method = :test config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: "smtp.gmail.com", port: 587, domain: "domain.of.sender.net", authentication: "plain", user_name: "dave", password: "secret", enable_starttls_auto: true } end controller.rb
def create @order = "[email protected]" ... respond_to do |format| if @user.save OrderNotifier.received(@order).deliver format.html { redirect_to @user} format.json { render action: 'show', status: :created, location: @user } else format.html { render action: 'new' } format.json { render json: @user.errors, status: :unprocessable_entity } ... end view/order_notifier
Welcome to example.com Thank you for your recent order from The Pragmatic Store.