如何在Django中发送电子邮件以注册帐户?

时间:2014-03-20 09:15:56

标签: python django email

我想创建一个向用户发送激活密钥的注册表单。此已发送电子邮件显示登录激活链接以继续创建帐户。现在我做的是我在settings.py文件中写了这些行来发送电子邮件。

ACCOUNT_ACTIVATION_DAYS=7
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'emailaddress@gamil.com'

但这不是很好,或者可能是我使用它的方式是错误的。我需要你的帮助来解决这个问题。感谢。

2 个答案:

答案 0 :(得分:3)

您可以在setting.py。

中尝试此设置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_HOST_USER='your gmail user name'
EMAIL_HOST_PASSWORD='your gmail password'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = True

测试电子邮件配置: 在命令行中:

$ python manage.py shell

from django.core.mail import send_mail
send_mail("testing", "Did this work?", "no-reply@abc.net", ["email where you want to send ", ], fail_silently=False)

答案 1 :(得分:2)

这与Django或Python无关,你的Gmail详细信息配置错误

EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''

以上内容需要设置为您的Gmail用户(电子邮件)和密码

EMAIL_USE_TLS = False
EMAIL_PORT = 587

需要TLS,需要将其设置为True。因此,端口必须设置为SMTP over SSL,即465