好的,我看过很多关于自定义设计电子邮件主题的讨论,但似乎没有解决我想要的问题.目前,我的确认电子邮件主题为“确认您的Qitch.com帐户”.我想自定义此电子邮件主题并在其中添加用户名称的动态值,以便在用户ALEX注册帐户时,他应该获得主题为Welcome ALEX的电子邮件地址,确认您的Qitch.com帐户.我怎样才能在设计中实现这一目标?
devise.en.yml
mailer: confirmation_instructions: subject: 'Confirm your Qitch.com account' reset_password_instructions: subject: 'Reset your Qitch.com password' unlock_instructions: subject: 'Unlock your Qitch.com account'
最后,我如何在回复地址或地址中添加名称,目前当您收到邮件时,它说发件人:no-reply@qitch.com有没有办法我可以自定义它到Qitch
谢谢
解决方法
我看到答案都不够干净,所以我想在这里做一个简短的总结.
>首先,您必须告诉Devise您将通过以下方式覆盖其原始邮件程序方法:
配置/初始化/ devise.rb
config.mailer =’MyOverriddenMailer’
>之后,您需要创建重写的邮件程序类并覆盖您想要的任何方法,如下所示:
应用程序/邮寄者/ my_overridden_mailer.rb
class MyOverriddenMailer < Devise::Mailer helper :application # gives access to all helpers defined within `application_helper`. include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url` default template_path: 'devise/mailer' # to make sure that you mailer uses the devise views def confirmation_instructions(record,token,opts={}) if record.name.present? opts[:subject] = "Welcome #{record.name},confirm your Qitch.com account" else opts[:subject] = "Confirm your Qitch.com account" end super end end
>请记住重新启动Rails服务器以应用更改! 原文链接:https://www.f2er.com/ruby/268828.html