1

この railscasts http://railscasts.com/episodes/274-remember-me-reset-password?view=asciicastに従って、パスワード リセット メーラーを設定しようとしています。

heroku ブログに従って環境をセットアップした後、メーラーからメールを送信できるようになりました。ドメインに namecheap を使用し、メールを処理するために gmail/google アプリを使用していることに注意してください。 http://blog.heroku.com/archives/2009/11/9/tech_sending_email_with_gmail/

私が抱えている問題は、受信している電子メールが、ドメイン名があるはずの電子メールを置き換えていることです。下記参照:

To reset your password, click the URL below.

http://webmaster@mydomain.com/password_resets/qVwzCsKHZA-VS6GyDTTyQw/edit

私はそれが欲しい:

http://www.mydomain.com/password_resets/qVwzCsKHZA-VS6GyDTTyQw/edit

ウェブマスターの電子メールの代わりにドメイン名をメーラーに表示させるにはどうすればよいですか?

私はすでに自分のコードを何度もチェックしましたが、それは単なる転送の問題だと思います。関連するコードを投稿してほしい場合はお知らせください。

これは私の production.rb にあります:

config.action_mailer.default_url_options = { :host => "webmaster@mydomain.com" }

password_resets_controller.rb

def create
  user = User.find_by_email(params[:email])
  user.send_password_reset if user
  redirect_to login_path, :notice => "Email sent with password reset"
end

user.rb

def send_password_reset
  generate_token(:password_reset_token)
  self.password_reset_sent_at = Time.zone.now
  save!
  UserMailer.password_reset(self).deliver
end

user_mailer.rb

class UserMailer < ActionMailer::Base
  default :from => "webmaster@mysite.com"


  def password_reset(user)
    @user = user
    mail :to => user.email, :subject => "Password Reset"
  end
end

password_reset.text.erb

To reset your password, click the URL below.
<%= edit_password_reset_url(@user.password_reset_token) %>

ありがとう。

4

1 に答える 1

1

ホストをドメイン名に変更するだけで動作するはずです: :host => "mydomain.com"

于 2012-05-25T00:48:07.657 に答える