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.
Надеюсь, это поможет вам.