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

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

在initializers / devise.rb中,我放了

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

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

在用户模型中,这些是正在使用的模块:database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable

—错误消息—在Devise中的Errno :: ECONNREFUSED :: PasswordsController #create Connection refused – connect(2)Rails.root:/ Users / myname / Sites / rails3d Application Trace | 框架跟踪| 完整跟踪请求参数:{“utf8”=>“✓”,“authenticity_token”=>“8oO5vXqO4esl3ztn5yE7OkVxZe + Ju94jj76rbKR225I =”,“user”=> {“email”=>“myemail … @ gmail.com”}, “commit”=>“发送重置密码说明”}显示会话转储显示env转储响应标头

您是否在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 } 

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

mailcatcher.me

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

  config.action_mailer.perform_deliveries = true