使用django-registration发送activate-email

ver*_*crp 8 python django django-registration

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

Mar*_*Eve 9

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

send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])
Run Code Online (Sandbox Code Playgroud)

如果要使用,则必须在settings.py中指定值DEFAULT_FROM_EMAIL.

另请注意以下事项:

使用EMAIL_HOST和EMAIL_PORT设置中指定的SMTP主机和端口发送邮件.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'
Run Code Online (Sandbox Code Playgroud)

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

  • 并且,仅仅为了记录,对于其他任何设置电子邮件的人 - **不要**犯错我做的,在端口周围使用引号,如'EMAIL_PORT ='587'.这花了我几个小时的调试...... (6认同)
  • 我认为当'EMAIL_USE_TLS = True`时我们必须使用`EMAIL_PORT = 587` (2认同)