Djnago отправка почты не работает, также не показывает никаких ошибок

Settings.py

DEFAULT_FROM_EMAIL = 'testing.email2908@gmail.com'
SERVER_EMAIL = 'testing.email2908@gmail.com'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'testing.email2908@gmail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAILL_USE_TLS = True

views.py

print('Helloo')
send_mail(
    'Testing',
    'Hi',
    'testing.email2908@gmail.com',
    ['xyz@gmail.com'], #my personal gmail id
    fail_silently=False,
)
print('Hiiii')

Когда я запускаю этот код, выводится только Helloo, я импортировал send_mail также, пытался использовать smtplib также, но это дало ошибку расширения smpt auth, поэтому я пробую метод send_mail, но он также, кажется, не работает, не знаю, в чем именно проблема.

попробуйте это

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'emailId'
EMAIL_HOST_PASSWORD = 'password'

Необходимо установить следующую конфигурацию в 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 = 'xyz.gmail.com' # sender's email-id
EMAIL_HOST_PASSWORD = 'xyz' # password associated with above email-id

По-моему, вы забыли EMAIL_BACKEND.

Для отправки почты добавьте следующий код

from django.conf import settings
from django.core.mail import send_mail

subject = 'email subject'
message = 'Hi , Thank you for your help.'
email_from = settings.EMAIL_HOST_USER
recipient_list = [user.email, ] # email to send
send_mail( subject, message, email_from, recipient_list )

Если вы используете gmail для отправки писем, то вам необходимо включить Less Secure App Access. Эта опция присутствует в Manage Your Account в gmail.

Надеюсь, это поможет вам.

Вернуться на верх