如何使用django-registration发送邮件?
我该如何使用django-registration发送电子邮件?
1 个回答
7
django-registration 会在用户注册时发送一封邮件给他们。这个过程大致是这样的(如果这正是你的问题...)*:
用户填写并提交了注册表单...
在
views.py:187
里new_user = backend.register(request, **form.cleaned_data)
接着在比如
backends/default/__init__.py:78
里new_user = RegistrationProfile.objects.create_inactive_user(username, email, password, site)
然后在
models.py:79
里if send_email: registration_profile.send_activation_email(site)
最后在
models.py:207
里def send_activation_email(self, site): ... self.user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL)
最后一个方法调用会进入 django.contrib.auth
,特别是 django.contrib.auth.models.User.email_user
附注:虽然有点粗糙,但一般来说,在代码库中搜索,比如用 grep
或类似工具,可以帮助你找到这样的内容。
*变更集 073835a4269f