使用django-registration发送activate-email

时间:2010-05-24 04:53:09

标签: python django django-registration

我很好奇是否有办法使用django-registration发送带有用户名,密码的激活电子邮件。首先我考虑修改注册表,但我需要一些例子。

4 个答案:

答案 0 :(得分:10)

django-registration在内部使用以下代码来处理发送电子邮件:

send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])

如果您想工作,则必须在settings.py中指定值DEFAULT_FROM_EMAIL。

另外,请注意以下事项:

  

使用SMTP主机发送邮件   在EMAIL_HOST和中指定的端口   EMAIL_PORT设置。该   EMAIL_HOST_USER和   EMAIL_HOST_PASSWORD设置,如果设置,   用于对SMTP进行身份验证   服务器和EMAIL_USE_TLS设置   控制是否安全连接   使用。

所以,举一个例子,这是我在settings.py文件中用来使用gmail帐户的内容:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_USE_TLS = True

EMAIL_HOST_USER = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'my_emails_password'
然后

django-registration应该能够发送电子邮件。

答案 1 :(得分:3)

EMAIL_PORT = 465在一年前开始运作。现在你需要使用端口587和gmail。 原因:Django从一开始就不支持使用SSL的SMTP。设置纯文本连接后,仅支持STARTTLS命令。但是,Gmail不再在端口465上支持此选项。

答案 2 :(得分:1)

希望这会对某人有所帮助。经过半小时的故障排除后,我意识到在使用django-registration时我必须明确说明这一点 -

EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'

答案 3 :(得分:0)

django-register-activate实现了与django-registration类似的功能。基本上它为用户注册,电子邮件验证和激活,用户登录和用户注销提供代码。

如果您需要示例来实现自己的代码,可以查看register_activate中的views.py和forms.py以获取一些提示。

希望答案有所帮助。如果您还有其他问题,请与我们联系。