メーラー内でのアプリケーションのホスト情報
メーラー内でのアプリケーションのホスト情報
メーラーの中でアプリケーションのホスト情報を使いたい場合は、以下のように設定する。
[config/environments/development.rb] Rails.application.configure do config.action_mailer.default_url_options = { host: "localhost", port: 3000 } end
上記の設定をする場合と設定をしない場合で、以下のように変わります。
[設定をした場合]
[app/mailers/user_mailer.rb] class UserMailer < ApplicationMailer def reset_password_email(user) @user = User.find user.id @url = edit_password_reset_url(@user.reset_password_token) mail(:to => user.email, :subject => "パスワード再発行のお知らせ") end end
[app/views/user_mailer/reset_password_email.html.slim] p = "#{@user.name} 様" p パスワード再発行の依頼を受け付けました。 p こちらのリンクからパスワードの再発行を行ってください。 p = @url
[設定をしない場合]
[app/mailers/user_mailer.rb] class UserMailer < ApplicationMailer def reset_password_email(user) @user = User.find user.id @url = edit_password_reset_url(@user.reset_password_token) mail(:to => user.email, :subject => "パスワード再発行のお知らせ") end end
[app/views/user_mailer/reset_password_email.html.slim] p = "#{@user.name} 様" p パスワード再発行の依頼を受け付けました。 p こちらのリンクからパスワードの再発行を行ってください。 p = @url
※ 届いたメール本文のURLを確認すると、ポート番号が入っているかどうかの違いが分かる!!