在Django

时间:2019-10-19 00:00:55

标签: django python-3.x

我正在使用django auth视图进行密码重置,并在settings.py中使用smtp设置了电子邮件设置。我不确定为什么我没有收到我的Gmail电子邮件。当我使用send_mail()函数发送邮件时,我收到的电子邮件很好。有人有什么主意吗?

我已经在settings.py中配置了EMAIL设置,并在url.py中添加了URL,并制作了自己的模板文件。

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 = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PWD')
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

urls.py:

from django.contrib.auth import views as auth_views

 path('password-reset/',
         auth_views.PasswordResetView.as_view(
             template_name='users/password_reset.html'
         ),
         name='password_reset'),
    path('password-reset/done/',
         auth_views.PasswordResetDoneView.as_view(
             template_name='users/password_reset_done.html'
         ),
         name='password_reset_done'),
    path('password-reset-confirm/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(
             template_name='users/password_reset_confirm.html'
         ),
         name='password_reset_confirm'),
    path('password-reset-complete/',
         auth_views.PasswordResetCompleteView.as_view(
             template_name='users/password_reset_complete.html'
         ),
         name='password_reset_complete'),
    path('admin/', admin.site.urls),

我转到password_reset,然后输入我的电子邮件,然后单击“提交”。它显示了password_reset_done页面,但我的Gmail中没有收到任何电子邮件。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

在settings.py中,您正在添加django邮件后端,因此您将在服务器屏幕中接收邮件! 要接收gmail邮件,您需要使用此设置替换您的设置

 ════════ Exception Caught By widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building VerifyCode(dirty, dependencies: [InheritedProvider<AlertViewModel>, _ModalScopeStatus], state: _VerifyCodeState#98992):
The method '[]' was called on null.
Receiver: null
Tried calling: []("code")
When the exception was thrown, this was the stack
#0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:50:5)
#1      _VerifyCodeState.build package:accidentapp/screens/verifycode.dart:42
#2      StatefulElement.build 
package:flutter/…/widgets/framework.dart:4012
#3      ComponentElement.performRebuild package:flutter/…/widgets/framework.dart:3924
#4      Element.rebuild
package:flutter/…/widgets/framework.dart:3721 ═══════════════════════════════════════════════════════════════════

确保替换此设置并添加您的Gmail和密码

,您需要通过此链接允许Gmail帐户中的安全性较低的应用 https://myaccount.google.com/lesssecureapps?pli=1

如果仍然无法正常工作,请从此处禁用验证码 https://accounts.google.com/displayunlockcaptcha 希望对您有帮助