Как исправить [WinError 10061] с помощью Django e.mails?
(Нет
соединение может быть установлено, потому что целевой компьютер активно отказался
это)
Я использую Django для отправки электронных писем. Я, очевидно, получаю общую сетевую ошибку, но ни один из ответов, которые я прочитал, не решен. Мне кажется, у меня проблема с сокетом
При отправке электронного письма появляется следующая ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\site-
packages\django\core\mail\message.py", line 291, in send
return self.get_connection(fail_silently).send_messages([self])
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\site-
packages\django\core\mail\backends\smtp.py", line 103, in send_messages
new_conn_created = self.open()
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\site-
packages\django\core\mail\backends\smtp.py", line 63, in open
self.connection = self.connection_class(self.host, self.port,
**connection_params)
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\smtplib.py", line 251,
in __init__
(code, msg) = self.connect(host, port)
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\smtplib.py", line 336,
in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\smtplib.py", line 307,
in _get_socket
self.source_address)
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\socket.py", line 727,
in create_connection
raise err
File "C:\Users\Jaime\Miniconda3\envs\mydjango\lib\socket.py", line 716,
in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made
because
the target machine actively refused it
Вот что я пробовал:
1)
import socket
socket.getaddrinfo('hotmail-com.olc.protection.outlook.com', 80)
socket.getaddrinfo('smtp.hotmail.com', 8000)
socket.getaddrinfo('smtp.hotmail.com', 587)
2)
Отключить брандмауэр / антивирус
3)
Запустите код в оболочке Python и в приложении Django
4) * * тысяча тридцать-пять
У меня сервер smtp из MX-запроса nslookup
Я запускаю этот тестовый код в оболочке python:
from django.conf import settings
from django.core.mail import EmailMessage
settings.configure()
from django.core.mail import send_mail
import socket
socket.getaddrinfo('hotmail-com.olc.protection.outlook.com', 80)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'hotmail-com.olc.protection.outlook.com'
EMAIL_HOST_USER = '*******@hotmail.com'
EMAIL_HOST_PASSWORD = '******'
EMAIL_PORT = 587
mail_subject = 'Activate your blog account.'
to_email = "******@hotmail"
email = EmailMessage(
mail_subject, "hello", to=[to_email]
)
email.send()
Ожидаемый результат
Сейчас я хочу отправлять электронные письма из приложения localhost Django.
В будущем я буду загружать код на сервер pythonanywhere.com.
Спасибо
Jaime