我正在本地主机上测试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转储 响应 标题
答案 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以便在本地测试电子邮件。我已经使用它几天了,效果很好。
此外,如果您希望发送电子邮件而不仅仅是记录,请确保并在您的development.rb文件中启用传递:
config.action_mailer.perform_deliveries = true