Не могу залогиниться через smtplib

Есть почта на Yahoo!, мне нужно отправить с неё письмо в Django, но выдаёт ошибку. Корни уходят в smtplib, поэтому вывод будет оттуда.

import smtplib
server = smtplib.SMTP_SSL('smtp.mail.yahoo.com', 465)
server.login('[email protected]', 'example')
# Traceback (most recent call last):
#   File "<pyshell#2>", line 1, in <module>
#     server.login('[email protected]', 'example')
#   File "/usr/lib/python3.8/smtplib.py", line 723, in login
#     (code, resp) = self.auth(
#   File "/usr/lib/python3.8/smtplib.py", line 635, in auth
#     (code, resp) = self.docmd("AUTH", mechanism + " " + response)
#   File "/usr/lib/python3.8/smtplib.py", line 425, in docmd
#     return self.getreply()
#   File "/usr/lib/python3.8/smtplib.py", line 398, in getreply
#     raise SMTPServerDisconnected("Connection unexpectedly closed")
# smtplib.SMTPServerDisconnected: Connection unexpectedly closed

Нашёл вариант, в котором нужно без SSL, но с установкой ssl.PROTOCOL_TLS:

import smtplib
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_TLS)
# (250, b'smtp401.mail.ir2.yahoo.com Hello [127.0.1.1] [178.155.6.209])\nPIPELINING\nENHANCEDSTATUSCODES\n8BITMIME\nSIZE 41697280\nSTARTTLS')
server.starttls(context=context)
# (220, b'2.0.0 Ready to start TLS')
server.ehlo()
# (250, b'smtp401.mail.ir2.yahoo.com Hello [127.0.1.1] [178.155.6.209])\nPIPELINING\nENHANCEDSTATUSCODES\n8BITMIME\nSIZE 41697280\nAUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER')
server.login('[email protected]', 'example')
# Traceback (most recent call last):
#   File "<pyshell#8>", line 1, in <module>
#     server.login('[email protected]', 'example')
#   File "/usr/lib/python3.8/smtplib.py", line 723, in login
#     (code, resp) = self.auth(
#   File "/usr/lib/python3.8/smtplib.py", line 635, in auth
#     (code, resp) = self.docmd("AUTH", mechanism + " " + response)
#   File "/usr/lib/python3.8/smtplib.py", line 425, in docmd
#     return self.getreply()
#   File "/usr/lib/python3.8/smtplib.py", line 398, in getreply
#     raise SMTPServerDisconnected("Connection unexpectedly closed")
# smtplib.SMTPServerDisconnected: Connection unexpectedly closed

Пробовал повторить с aol.com, та же проблема, при этом на mail.ru всё работает как надо.

В чём проблема и как её можно решить?


Ответы (0 шт):