Search code examples
ruby-on-railsherokudeviseactionmailerproduction

How to set up mailer in Rails app for production environment on Heroku


I need to use a mailer for sending out emails to users to set their passwords to the "recoverable" function of Devise and active admin. On the development environment I have done this by adding the following to these files:

config/environments/development

#Added per active admin install instructions
config.action_mailer.default_url_options = { :host => 'localhost:3000' }


#These settings are for the sending out email for active admin and consequently the   devise mailer
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = 
{

  :address            => 'smtp.gmail.com',
  :port               => 587,
  :domain             => 'gmail.com', #you can also use google.com
  :authentication     => :plain,
  :user_name          => 'XXXXX@gmail.com',
  :password           => 'XXXXXXX'
}

How do I get the same functionality for the production environment? I want to deploy my app to Heroku. What files and code would I need to add?


Solution

  • If it works in development mode, then it will work in production mode.

    Supposing everything is setup correctly, resetting a password in development will already send an actual email using your gmail account.

    Devise only relies on the mailer config setup correctly (which you have done), and configuring devise to allow password reset, and possibly another setting for the From field of the email.