我很好奇是否可以通过使用Django-Registration将用户名和密码发送激活的电子邮件。首先,我考虑了修改注册表格,但我需要一些例子。

有帮助吗?

解决方案

Django注册 在内部使用以下代码来处理发送电子邮件:

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

如果您想工作,则必须在设置中指定值default_from_email。

另外,请注意以下内容:

邮件是使用email_host和email_port设置中指定的SMTP主机和端口发送的。 email_host_user和email_host_password设置(如果设置)用于对SMTP服务器进行身份验证,并且email_use_use_tls设置控制是否使用了安全连接。

因此,举一个例子,这是我在stayings.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注册 然后应该能够发送电子邮件。

其他提示

email_port = 465在几年前工作。现在,您需要将端口587与Gmail一起使用。原因:Django从一开始就不支持SSL的SMTP。仅在设置了普通文本连接后支持starttls命令。但是,Gmail不再支持端口465上的此选项。

希望这对某人有帮助。进行半小时的故障排除后,我意识到我在使用Django Registration时也必须明确说明这一点 -

email_backend ='django.core.mail.backends.smtp.emailbackend'

Django-Register-Activate 实现了与Django-Registration相似的功能。基本上,它为用户注册,电子邮件验证和激活,用户登录和用户注销提供代码。

如果您需要示例来实现自己的代码,则可以检查views.py and forms.py register_activate 获得一些提示。

希望答案有帮助。让我知道您是否还有其他问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top