Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ActionView::Template::Error: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true

My ruby on rails action mailer runs all good in development environment, but in production environment, it keeps throw:

ActionView::Template::Error: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true 

My development config is

config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = {   :port           => xxx,   :address        => 'smtp.example.org',   :user_name      => '[email protected]',   :password       => 'xxxxxxxx',   :domain         => 'xxxxxx.com',   :authentication => :plain, }  config.action_mailer.default_url_options = { :host => 'localhost:3000' } 

My production config is

config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = {   :port           => 587,   :address        => 'smtp.example.org',   :user_name      => '[email protected]',   :password       => 'xxxxxx',   :domain         => 'example.com',   :authentication => :plain, } config.action_mailer.default_url_options = { :host => 'example.com' } 

My other environments are:

ruby 2.1.1 rails 4.0.3 sidekiq  devise devise-async 

I have tried:

  1. Add the following in a initializer file

    ActionMailer::Base.default_url_options[:host] = "example.com" 
  2. This answer here

Neither of them works.

like image 222
Chuanpin Zhu Avatar asked Mar 09 '14 22:03

Chuanpin Zhu


2 Answers

In the end I added the following with the correct value to each environment file:

test.rb / development.rb / production.rb

Devise 3.2.x - 4.x.x

Rails 4.1.x && Rails 4.2.x && Rails 5.x.x

Thanks to maudulus

# Default Mailer Host   Rails.application.routes.default_url_options[:host] = 'domain.com' 
like image 132
blnc Avatar answered Oct 08 '22 03:10

blnc


Try restarting the server. Even in Rails 4.1 the config is not reparsed without a restart.

like image 27
Camden Narzt Avatar answered Oct 08 '22 02:10

Camden Narzt