我的所有用户在获得管理员批准之前都将获得批准,管理员将登录该网站以将用户标记为已批准。我正在关注Devise docs here这项工作很棒但是如果新用户注册后如何向管理员发送电子邮件以便管理员知道并且可以批准注册?
答案 0 :(得分:9)
在你的用户模型中,做这样的事情:
after_create :send_admin_mail
def send_admin_mail
###Send email stuff here
end
您可能想要使用ActionMailer。
可能有一些内置的Devise方式,但我找不到任何东西。这基本上只是向您发送警报。
答案 1 :(得分:-1)
截至2020年
文档已更新,可以回答问题here。当然,可以随时根据您的需求进行修改。
摘要:
运行rails g mailer AdminMailer
之后。将app/mailers/admin_mailer.rb
修改为以下内容:
class AdminMailer < Devise::Mailer
default from: 'from@example.com'
layout 'mailer'
def new_user_waiting_for_approval(email)
@email = email
mail(to: 'admin@email.com', subject: 'New User Awaiting Admin Approval')
end
end
然后将app/models/user.rb
更新为:
after_create :send_admin_mail
def send_admin_mail
AdminMailer.new_user_waiting_for_approval(email).deliver
end
最后,根据您的需求views/admin_mailer/new_user_waiting_for_approval.erb
修改以下内容。