获取Devise身份验证以发送用于密码检索的电子邮件

时间:2011-12-06 03:51:51

标签: ruby-on-rails

我正在本地主机上测试Rails的Devise身份验证,并希望让它发送用于密码检索的电子邮件(即“忘记密码”链接)。密码检索内置于Devise中,只需正确配置即可发送电子邮件。

在initializers / devise.rb中,我把

config.mailer_sender = "i...@mydomain.com" 

但是当我尝试在rails的Devise身份验证上测试“忘记密码”链接时,我收到了以下错误消息。如果我确实需要为实际发送的电子邮件添加其他信息,我需要添加什么以及在哪里?

在用户模型中,这些是正在使用的模块  设计:database_authenticatable,:registerable,          :可恢复的,:可记住的,:可跟踪的,:有效的

---错误信息--- Errno ::在Devise中的ECONNREFUSED :: PasswordsController #create 连接被拒绝 - 连接(2) Rails.root:/ Users / myname / Sites / rails3d 应用程序跟踪|框架跟踪|完整追踪 请求 参数: { “UTF8”=> “中✓”,  “authenticity_token”=> “中8oO5vXqO4esl3ztn5yE7OkVxZe + Ju94jj76rbKR225I =”,  “用户”=> { “电子邮件”=> “中myemail ... @ gmail.com”},  “commit”=>“发送给我重置密码说明”} 显示会话转储 显示env转储 响应 标题

2 个答案:

答案 0 :(得分:4)

您是否在environment / development.rb

中设置了邮件设置
  config.action_mailer.smtp_settings = {
     :address              => "smtp.gmail.com",
     :port                 => 587,
     :domain               => 'domain.com',
     :user_name            => 'email_address@domain.com',
     :password             => 'password',
     :authentication       => :plain,
     :enable_starttls_auto => true  }

答案 1 :(得分:4)

除了上面提到的TJ之外,我还建议您查看MailCatcher gem以便在本地测试电子邮件。我已经使用它几天了,效果很好。

mailcatcher.me

此外,如果您希望发送电子邮件而不仅仅是记录,请确保并在您的development.rb文件中启用传递:

  config.action_mailer.perform_deliveries = true