У меня проблема с отправкой электронной почты с помощью django

I have a problem with send_email by django 
I tryed  gmail and hotmail and email private , all of them return the same error code 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'mail.privateemail.com'
EMAIL_HOST_USER = 'info@custumemail.com'
EMAIL_HOST_PASSWORD = 'xxxxxx'
EMAIL_USE_TLS = False
EMAIL_PORT = 465
Error console:

` Файл "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/smtplib.py", строка 398, in getreply line = self.file.readline(_MAXLINE + 1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/socket.py", строка 707, in readinto return self._sock.recv_into(b) ^^^^^^^^^^^^^^^^^^^^^^^ ConnectionResetError: [Errno 54] Connection reset by peer

Во время обработки вышеуказанного исключения произошло другое исключение:

Отслеживание (последний последний вызов): Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", строка 56, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/handlers/base.py", строка 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/blog/views.py", строка 64, in post_share send_mail(subject, message, 'ddddd@gmail.com', [cd['to']]) Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/mail/init.py", строка 87,

in send_mail return mail.send() ^^^^^^^^^^^ Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/mail/message.py", строка 298, in send return self.get_connection(fail_silently).send_messages([self]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/mail/backends/smtp.py", строка 124, in send_messages new_conn_created = self.open() ^^^^^^^^^^^ Файл "/Volumes/mac-etended/pytonDjango/django-example-4/blog/venv/lib/python3.12/site-packages/django/core/mail/backends/smtp.py", строка 80, in open self.c

Сообщение об ошибке, которое вы получаете, ConnectionResetError: [Errno 54] Connection reset by peer возникает, когда удаленный сервер неожиданно закрывает соединение.

Вы должны настроить это на свой Email config settings.py also, поскольку вы используете SMPTS через SSL (с портом 465), чтобы это работало:

 
EMAIL_USE_SSL = True

Однако, если вы хотите использовать TLS, типичный порт - 587, и вы должны установить EMAIL_USE_TLS = True. Однако я часто использую именно TLS-версию.

Здесь:

# set your environmental variables on .env file of your project root directory.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD')
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER')
DEFAULT_FROM_EMAIL = os.getenv("DEFAULT_FROM_EMAIL")

PS: Убедитесь, что ваш поставщик услуг электронной почты разрешает подключения с хоста вашего приложения и что вы включили необходимые разрешения для доступа к почтовому аккаунту в вашем приложении Django.

Для получения дополнительной информации ознакомьтесь с Django Docs on sending email. Также убедитесь, что что вы обновили Django и Python. Проверьте также брандмауэр вашей системы, он может быть причиной, если все остальные решения не помогли, в чем я сомневаюсь в вашем случае.

Удача!

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