Mezzanine 可以在用户注册时向管理员发送电子邮件吗?

Posted

技术标签:

【中文标题】Mezzanine 可以在用户注册时向管理员发送电子邮件吗?【英文标题】:Can Mezzanine send an email to admin when a user signs up? 【发布时间】:2017-06-01 22:00:30 【问题描述】:

是否有任何方法可以配置 Mezzanine,以便管理员用户在新(常规)用户注册时收到电子邮件?我有 ACCOUNTS_VERIFICATION_REQUIRED=True,因此潜在用户会收到一封电子邮件,但我不想自己批准帐户 (ACCOUNTS_APPROVAL_REQUIRED)。

如果开箱即用无法做到这一点,我是否需要自定义 accounts 应用程序?还是猴子补丁UserProfileAdmin.save_model?最好的方法是什么?

【问题讨论】:

我不知道是否有更简单的解决方案,但在你去猴子修补 any save_model Django 方法之前,请考虑使用 @987654327 @ 或 post_save 信号。 docs.djangoproject.com/en/stable/topics/signals 【参考方案1】:

为了结束,这是我在夹层用户邮件列表中或多或少从 Steve MacDonald 本人那里得到的解决方案。设置ACCOUNTS_PROFILE_FORM_CLASS 允许为用户配置文件注册/更新指定自定义表单类。所以,在settings.py 中设置:

ACCOUNTS_PROFILE_FORM_CLASS = "myapp.forms.MyCustomProfileForm"

然后在myapp.forms.py 发送电子邮件保存:

from mezzanine.accounts.forms import ProfileForm

class MyCustomProfileForm(ProfileForm):
    def save(self, *args, **kwargs):
        user = super(MyCustomProfileForm, self).save(*args, **kwargs)
        if self._signup:
            # send email here
        return user

这对我来说效果很好。

【讨论】:

以上是关于Mezzanine 可以在用户注册时向管理员发送电子邮件吗?的主要内容,如果未能解决你的问题,请参考以下文章

当用户到达特定位置时向用户发送推送通知 [IOS]

当应用程序在后台时向用户发送通知

文件上传到 s3 时向用户发送电子邮件

如何在点击FB like按钮时向Facebook用户发送电子邮件?

NodeJS 和 MongoDB:在文档插入时向多个用户发送电子邮件和仪表板通知 [关闭]

当$(文件).on时向函数发送参数