为了账号安全,请及时绑定邮箱和手机立即绑定

Django + Graphene,注册用户后,一封确认信已到达开发者控制台。

Django + Graphene,注册用户后,一封确认信已到达开发者控制台。

慕尼黑8549860 2023-10-11 21:20:13
我正在学习 Django + Graphene + React(Apollo),注册用户后,开发者控制台收到一封确认电子邮件。我怎样才能控制这封电子邮件?class AuthMutation(graphene.ObjectType):    register = mutations.Register.Field()    verify_account = mutations.VerifyAccount.Field()从客户端发送数据后,用户已注册,但为了确认它,我必须使用信件中的令牌执行突变。mutation {  verifyAccount(token: "YOUR TOKEN FROM LETTER") {    success,    errors  }}信<h3>{{ site_name }}</h3><p>Hello {{ user.username }}!</p><p>Please activate your account on the link:</p><p>{{ protocol }}://{{ domain }}/{{ path }}/{{ token }}</p>我的目标是通过电子邮件确认注册
查看完整描述

4 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

在Settings.py文件中添加以下代码


EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'

EMAIL_HOST_PASSWORD = 'password' #my gmail password

EMAIL_HOST_USER = 'email' #my gmail username

EMAIL_PORT = 587


查看完整回答
反对 回复 2023-10-11
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

将其添加到settings.py:


EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'

EMAIL_HOST_PASSWORD = 'password' #my gmail password

EMAIL_HOST_USER = 'email' #my gmail username

DEFAULT_FROM_EMAIL 'email' #my gmail username

EMAIL_PORT = 587

来自@Murlodin

这是配置中DEFAULT_FROM_EMAIL的默认设置EMAIL_FROMGRAPHQL_AUTH


EMAIL_FROM = getattr(django_settings, "DEFAULT_FROM_EMAIL", "test@email.com")

所以你可以从配置中更改DEFAULT_FROM_EMAIL或EMAIL_FROMGRAPHQL_AUTH


GRAPHQL_AUTH = {

    #...

    "EMAIL_FROM": 'email' #my gmail username

}


查看完整回答
反对 回复 2023-10-11
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

您必须使用 JavaScript 从 URL 获取令牌。

例如,

const token = window.location.pathname.split("/").pop();

然后使用您在问题中提到的突变将此令牌发送回后端。


查看完整回答
反对 回复 2023-10-11
?
aluckdog

TA贡献1847条经验 获得超7个赞

如果使用Gmail ,请将下面的Gmail电子邮件设置添加到“settings.py”:


# "settings.py"


EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'

EMAIL_PORT = 587

EMAIL_USE_TLS = True

EMAIL_HOST_USER = 'example@gmail.com' # Change to your email address

EMAIL_HOST_PASSWORD = 'examplePassword' # Change to your email password

或者,如果使用Outlook ,请将下面的Outlook电子邮件设置添加到“settings.py”:


# "settings.py"


EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.office365.com'

EMAIL_PORT = 587

EMAIL_USE_TLS = True

EMAIL_HOST_USER = 'example@outlook.com' # Change to your email address

DEFAULT_FROM_EMAIL = 'example@outlook.com' # Change to your email address

SERVER_EMAIL = 'example@outlook.com' # Change to your email address

EMAIL_HOST_PASSWORD = 'examplePassword' # Change to your email password


查看完整回答
反对 回复 2023-10-11
  • 4 回答
  • 0 关注
  • 310 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信