Я много искал, но не нашел правильного решения. Похоже, что раньше никто не сталкивался с этой проблемой.
Обратите внимание, что мой socket.gaierror [Errno 10047], что означает "Семейство адресов, не поддерживаемое семейством протоколов"
Ошибка, которую я получаю, это когда я попробуйте интегрировать SMTP в мой проект, чтобы я мог отправлять письма.
File "C:\Users\Ubaid Parveez\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Users\Ubaid Parveez\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 307, in _get_socket
self.source_address)
File "C:\Users\Ubaid Parveez\AppData\Local\Programs\Python\Python36\lib\socket.py", line 705, in create_connection
for res in getaddrinfo(host, port, 1, SOCK_STREAM):
File "C:\Users\Ubaid Parveez\AppData\Local\Programs\Python\Python36\lib\socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 10047] getaddrinfo failed
Вот мои настройки для smtp
SERVER_EMAIL = 'abc@example.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'password_here'
EMAIL_HOST_USER = SERVER_EMAIL
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Вот мой взгляд на отправку электронного письма
class ContactView(generic.TemplateView):
template_name = "contact.html"
def post(self,request,*args,**kwargs):
send_mail(
'Subject here',
'Here is the message.',
EMAIL_HOST_USER,
['to@example.com'],
fail_silently=False,
)
И когда я использую функцию send_mail () на мой взгляд. Я получаю эту ошибку сокета. Эта ошибка исчезнет, если я изменю свой почтовый сервер на «django .core.mail.backends.console.EmailBackend».