在Ruby on Rails中设计Gem重置密码链接?

时间:2012-09-04 20:14:41

标签: ruby-on-rails ruby-on-rails-3 devise

我正在使用Devise gem,我有一个初始化程序来设置邮件,如下所示:

   ActionMailer::Base.smtp_settings = {
       :enable_starttls_auto => true,
       :address            => 'smtp.gmail.com',
       :port               => 587,
       :domain             => 'mydomain.com',
       :authentication     => 'plain',
       :user_name          => 'info@mydomain.com',
       :password           => 'password' 
    }

在devise.rb中我还设置了以下内容:

config.mailer_sender = "info@mydomain.com"

我遇到的问题是,当我尝试发送“忘记密码”电子邮件时。我的应用程序确实发送了电子邮件,但链接允许我重置包含gmail域的电子邮件,如下所示:

http://gmail.com/users/password/edit?reset_password_token=JDKdSyhtDBkyq4Sgs2J3

我显然需要将该域作为我的应用程序域,以便用户可以重置其密码。我需要改变什么?

1 个答案:

答案 0 :(得分:2)

奇怪的配置,我通常只是设置:

config.action_mailer.default_url_options = { :host => "example.com" }

在我的制作或开发.rb文件


了解,config.mailer_sender = "info@mydomain.com"旨在填写您的from字段。