Drupalをホストしているドメイン「www.mysite.com」とRailsアプリをホストしている「app.mysite.com」のアプリがあります。
デバイスメーラーの URL が「app.mysite.com」ではなく「www.mysite.com」を指している状況があります。
devise.rb では、以下のように設定しています。
config.mailer = "Devise::Mailer"
ActionMailer::Base.default_url_options = { :host => 'app.mysite.com' }
そして production.rb では:
config.action_mailer.default_url_options = { :host => 'app.mysite.com' }
ActionMailer::Base.smtp_settings =
{
:address => 'smtp.sendgrid.net', # SendGrid SMTP server
:domain => 'mysite.com', # SendGrid account domain name
:user_name => 'username', # SendGrid user name
:password => 'password', # SendGrid password
:enable_starttls_auto => true,
:port => 587,
:authentication => :plain,
}
views/devise/mailer/reset_password_instructions.html.erb では、確認リンクは次のようになります。
<%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %>
パスワードを忘れた場合のリンクをクリックした後、電子メールを正常に送信し、localhost でチャームのように動作しますが、URL ホストがwww.mysite.com
代わりにポイントしapp.mysite.com
、404 エラーをスローします。
どうすれば正しいホストを指すことができますか?