好吧,我看过很多关于自定义设计电子邮件主题的讨论,但似乎没有一个能解决我想要的问题。目前我的确认电子邮件主题为“确认您的 Qitch.com 帐户“。我想自定义此电子邮件主题并在其中添加用户名的动态值,这样如果用户ALEX注册一个帐户,他应该得到一个带有主题的电子邮件地址,欢迎 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'
最后,如何在回复地址或发件人地址中添加姓名,目前当您收到邮件时,它会显示发件人:[email protected] /cdn-cgi/l/email-protection
有什么方法可以定制它Qitch
Thanks
我发现没有足够清晰的答案,所以我想在这里做一个简短的总结。
- 首先你要告诉
Devise
您将通过以下方式覆盖其原始邮件程序方法:
配置/初始化器/devise.rb
config.mailer = 'MyOverriddenMailer'
- 之后,您需要创建重写的邮件程序类并重写您想要的任何方法,如下所示:
应用程序/mailers/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 服务器以应用更改! :)
Note:
- List of
opts
选项:主题、收件人、发件人、回复对象、模板路径、模板名称。
-
record
是的实例User
model
- 而且当然,原始文件 https://github.com/plataformatec/devise/wiki/How-To%3A-Use-custom-mailer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)