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

Python 如何在Django中发送电子邮件以注册帐户?,python,django,email,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 = 'emaila

我想创建一个向用户发送激活密钥的注册表单。此发送的电子邮件显示登录激活链接,以继续创建帐户。现在我所做的是在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'

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

您可以在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)

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

EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
以上需要设置为您的Gmail用户(电子邮件)和密码

EMAIL_USE_TLS = False
EMAIL_PORT = 587

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

您可以向我们展示您的“发送电子邮件”功能吗?什么是“工作不正常”?它起作用了吗?但是,希望您的用户名和密码在代码中也不是空白的…:)@谢谢你的回复。我是django框架的新手。我跟随这篇文章了解了这一点。你能给我指点一下吗?这个链接没有关于电子邮件的内容function@HasanIqbalAnik我的意思是它不像我想要的那样工作!在主机或密码中输入什么?如果您在本地计算机上工作,请使用\u TLS=True,或对此行进行注释。然后test.value错误:需要在smtp.py文件中解包多个值必须正确尝试这一行:send_mail(“testing”,“这是否有效?”)abc@gmail.com", ["abc@gmail.com“],fail_silent=False)谢谢你,yogesh!:)还有一件事,如何发送激活密钥以及如何接收激活密钥?对于身份验证,您使用的是哪个应用程序?yogesh我使用的是“django.contrib.auth”。