Что я не могу отправить по электронной почте, используя Django? - PullRequest
1 голос
/ 10 апреля 2020

Я включил «разрешить менее безопасные приложения» в своей учетной записи Google. Но когда я отправляю форму для сброса пароля, она переходит к password_reset_done. html и НЕ показывает ошибку , Но почта не отправляется. Его нет ни в моем почтовом ящике, ни во входящем почтовом ящике, на который он должен отправляться.

Вот как выглядит мой urls.py :

from django.contrib.auth import views as auth_views

path('password_reset/',       
                        auth_views.PasswordResetView.as_view(template_name="my_app/password_reset.html"), 
                        name="password_reset"),
    path('password_reset/done/',  
                        auth_views.PasswordResetDoneView.as_view(template_name="my_app/password_reset_done.html"), 
                        name="password_reset_done"),
    path('password-reset-confirm/<uidb64>/<token>/', 
                        auth_views.PasswordResetConfirmView.as_view(template_name="my_app/password_reset_confirm.html"), 
                        name="password_reset_confirm" ),
    path('reset_password/', 
                        auth_views.PasswordResetCompleteView.as_view(template_name="my_app/password_reset_complete.html"), 
                        name="password_reset_complete" ),

И вот файл 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 = 'my_g_mail_id_here@domain.com'
EMAIL_HOST_PASSWORD = '**********'

Я буквально прочитал все остальные вопросы и попробовал все. Ничто не работает для меня. Я умираю, чтобы найти решение, пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 апреля 2020

Не используйте Gmail для этого. Он не предназначен для программной c отправки электронной почты.

Вместо этого используйте что-то вроде SendGrid или Mailgun . Оба имеют недорогие или бесплатные стартовые планы.

...