当新用户在 Django 应用程序中注册时触发一封电子邮件给管理员
Trigger an email to admin when new user registers in a Django app
我想在新用户注册我的 Django 应用程序时向管理员发送一封简单的纯文本电子邮件。最干净的方法是什么?
您可以为此使用 a post save signal。例如:
# <app>/signals.py:
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
@receiver(post_save, sender=User)
def send_email_to_admin(sender, instance, created, **kwargs):
if created:
send_mail(
'<Subject>User {} has been created'.format(instance.username),
'<Body>A new user has been created',
'from@example.com',
['admin@example.com'],
fail_silently=False,
)
# <app>/apps.py
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'app_name'
verbose_name = _('app_name')
def ready(self):
import .signals # noqa
在这里,我以django's mail sending functionality
为例,如果您正在使用它,请确保您已正确配置设置。
我想在新用户注册我的 Django 应用程序时向管理员发送一封简单的纯文本电子邮件。最干净的方法是什么?
您可以为此使用 a post save signal。例如:
# <app>/signals.py:
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
@receiver(post_save, sender=User)
def send_email_to_admin(sender, instance, created, **kwargs):
if created:
send_mail(
'<Subject>User {} has been created'.format(instance.username),
'<Body>A new user has been created',
'from@example.com',
['admin@example.com'],
fail_silently=False,
)
# <app>/apps.py
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'app_name'
verbose_name = _('app_name')
def ready(self):
import .signals # noqa
在这里,我以django's mail sending functionality
为例,如果您正在使用它,请确保您已正确配置设置。