如何使用Django中的确认码更新电子邮件地址?

2024-05-12 12:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用dj-rest-auth的所有功能来注册、登录、确认电子邮件地址、更改密码、重置密码等等。不幸的是,库不支持更改电子邮件地址。我希望经过身份验证的用户首先输入帐户密码和新的电子邮件地址。认证成功后,我想向用户发送一个特别生成的确认码。只有当他输入时,旧的电子邮件地址才会更改为新的。据我所知,在dj-rest-auth中没有这样的功能。不幸的是,我还没有在任何地方找到任何用于此目的的当前解决方案或库。有没有人有这样的问题,可以在这里分享他的解决方案?先谢谢你


Tags: 用户目的功能auth身份验证rest密码电子邮件
1条回答
网友
1楼 · 发布于 2024-05-12 12:32:25

虽然我没有任何解决方案,你想要什么准确,但这里是一个替代品。 您可以使用django all auth和一些电子邮件后端向新添加的电子邮件发送电子邮件以确认新电子邮件。在发送的电子邮件中,将有一个确认链接,用户必须单击该链接以确认新电子邮件。 使用django all auth后,您只需添加一个电子邮件后端,这将有助于发送电子邮件。Rest将由所有auth维护。 例如, 在your settings.py中,您可以添加SMTP电子邮件后端,以从选定的gmail帐户发送电子邮件。 将这些代码行添加到settings.py

EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = DEFAULT_FROM_EMAIL = 'HOST_EMAIL' #HOST_EMAIL is your email from which you want to send email to the user.
EMAIL_HOST_PASSWORD = 'HOST_PASSWORD' #HOST_PASSWORD is the password of the email you are using as HOST_EMAIL

但在完成所有这些工作后,要使其在本地工作,您需要转到您的google帐户,您将其用作电子邮件的主机。转到管理谷歌帐户>&燃气轮机安全性>&燃气轮机打开不太安全的应用程序。然后,您将能够向用户发送电子邮件。 注意:如果您为您的google帐户启用了双因素身份验证,则这些步骤将不起作用。这种类型的帐户有一些不同的设置

相关问题 更多 >