Не могу залогиниться через 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 всё работает как надо.
В чём проблема и как её можно решить?