【问题标题】:How to manually send a Devise email?如何手动发送设计电子邮件?
【发布时间】:2014-07-06 04:21:26
【问题描述】:

我想手动向我的应用用户发送设计确认电子邮件。像这样:

u = User.last
Devise::Mailer.confirmation_instructions u

但 Devise 的 confirmation_instructions 采用三个参数,第二个是令牌(根据文档),第三个是哈希。我如何获得它才能发送这些电子邮件?

【问题讨论】:

    标签: ruby-on-rails ruby email devise


    【解决方案1】:

    这里是ConfirmationsController sends the email

    self.resource = resource_class.send_confirmation_instructions(resource_params)
    

    你试过了吗?

    u.send_confirmation_instructions
    

    编辑以添加基于Devise::Mailer的方法:

    u.send(:generate_confirmation_token)
    Devise::Mailer.confirmation_instructions(u, u.instance_variable_get(:@raw_confirmation_token))
    

    【讨论】:

    • 谢谢,但我确实想通过从Devise::Mailer 调用confirmation_instructions 方法来发送电子邮件
    • 为什么?如果是这样,为什么不做send_confirmation_instructions 所做的事情?
    • Buck,那是因为我想通过 Rails 4.1 邮件预览查看这些电子邮件,而 AFAIK 调用该方法是唯一的方法
    • 好的,我用一些应该可以做到这一点的黑客更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2016-08-04
    • 2018-04-27
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多