tutorial rails gema ruby-on-rails-4 devise actionmailer production

ruby on rails 4 - rails - ActionView:: Plantilla:: Error: ¡Falta el host al que enlazar! Proporcione el parámetro: host, establezca default_url_options[: host] o establezca: only_path en true



send email rails 5 (2)

Al final, agregué lo siguiente con el valor correcto para cada archivo de entorno:

test.rb / development.rb / production.rb

Devise 3.2.x - 4.xx

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

Gracias a maudulus

# Default Mailer Host Rails.application.routes.default_url_options[:host] = ''domain.com''

Mi ruby ​​on rails action mailer funciona bien en el entorno de desarrollo, pero en el entorno de producción, mantiene 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

Mi configuración de desarrollo es

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'' }

Mi configuración de producción es

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'' }

Mis otros entornos son:

ruby 2.1.1 rails 4.0.3 sidekiq devise devise-async

Yo he tratado:

  1. Agregue lo siguiente en un archivo de inicializador

    ActionMailer::Base.default_url_options[:host] = "example.com"

  2. Esta respuesta here

Ninguno de los dos funciona.


Intente reiniciar el servidor. Incluso en Rails 4.1, la configuración no se repasa sin reiniciar.