Devise 何时实际发送重新确认电子邮件?
When does Devise actually send reconfirmation emails?
我正在尝试向 Rails 应用程序中名为 "Project" 的模型添加电子邮件确认:用户应该能够为项目设置电子邮件地址,直到他们单击发送到提供的电子邮件地址的确认 link。
虽然我不需要它的身份验证功能,但我认为 Devise gem 可能会有用。我希望使用 :reconfirmable 来实现该功能:当用户尝试将电子邮件保存到项目时,它会保存到 unconfirmed_email 列,直到他们确认。
它似乎在一定程度上起作用了——数据库已正确更新,生成了令牌,"confirmation_sent_at" 字段已设置。但是没有呈现电子邮件模板(也没有发送电子邮件)。查看 lib/devise/models.rb 中的代码路径,我可以看到在将电子邮件字段保存到之前,如何调用一个方法来拦截保存,而不是保存到 unconfirmed_email。但是电子邮件发送实际上是在哪里触发的呢?我需要做什么才能激活它?
假设您已正确配置 Devise 以使用 :confirmable
功能并正确配置了您的电子邮件 (as described in this answer)。那么它应该像这样调用一样简单:
user.send_confirmation_instructions # where user is one of your Devise users
至少,进行 send_confirmation_instructions
调用应该会在 Rails 日志中显示电子邮件正在发送。如果是这种情况,但您从未收到过电子邮件,那么您的电子邮件配置不正确。
我正在尝试向 Rails 应用程序中名为 "Project" 的模型添加电子邮件确认:用户应该能够为项目设置电子邮件地址,直到他们单击发送到提供的电子邮件地址的确认 link。
虽然我不需要它的身份验证功能,但我认为 Devise gem 可能会有用。我希望使用 :reconfirmable 来实现该功能:当用户尝试将电子邮件保存到项目时,它会保存到 unconfirmed_email 列,直到他们确认。
它似乎在一定程度上起作用了——数据库已正确更新,生成了令牌,"confirmation_sent_at" 字段已设置。但是没有呈现电子邮件模板(也没有发送电子邮件)。查看 lib/devise/models.rb 中的代码路径,我可以看到在将电子邮件字段保存到之前,如何调用一个方法来拦截保存,而不是保存到 unconfirmed_email。但是电子邮件发送实际上是在哪里触发的呢?我需要做什么才能激活它?
假设您已正确配置 Devise 以使用 :confirmable
功能并正确配置了您的电子邮件 (as described in this answer)。那么它应该像这样调用一样简单:
user.send_confirmation_instructions # where user is one of your Devise users
至少,进行 send_confirmation_instructions
调用应该会在 Rails 日志中显示电子邮件正在发送。如果是这种情况,但您从未收到过电子邮件,那么您的电子邮件配置不正确。