ОС: MacCatalinva V10.15.3
Python: 3.7.7
PiP: 20.0.2
Эй, я новичок в кодировании, поэтому я Я не уверен, что это на самом деле означает.
Я пытаюсь отправлять электронные письма через Python через Gmail, я настроил свой аккаунт на принятие "Менее безопасного доступа к приложениям" и выполнил действия, описанные в это руководство , но все, что я получаю, это следующее:
`Не удалось проверить сертификат [SSL: CERTIFICATE_VERIFY_FAILED]: невозможно получить сертификат локального эмитента (_ssl. c: 1076) Traceback (последний вызов последнее): файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py", строка 354, в отправке self.sock.sendall (s) OSError: [Errno 9] Неверный дескриптор файла
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний вызов был последним): файл "/Users/mymac/Desktop/Test2.py", строка 34, в файле server.quit () "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py", строка 984, в quit res = self.docmd ( "уволиться") Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py", строка 420, в файле docmd self.putcmd (cmd, args) "/ Library / Frameworks / Python .framework / Versions / 3.7 / lib / python3 .7 / smtplib.py ", строка 367, в файле putcmd self.send (str)" /Library/Frameworks/Python.framework/Versions/3.7 /lib/python3.7/smtplib.py ", строка 357, при отправке поднять SMTPServerDisconnected ('Сервер не подключен') smtplib.SMTPServerDisconnected: Сервер не подключен`
И это мой код :
import smtplib
import ssl
sender_email = "myemailadress@gmail.com"
receiver_email = "myadress@hotmail.com"
message = """\
Subject: Hi there
This message is sent from Python."""
# Send email here
smtp_server = "smtp.gmail.com"
port = 587 # For starttls
sender_email = "myemailadress@gmail.com"
password = input("Type your password and press enter: ")
# Create a secure SSL context
context = ssl.create_default_context()
# Try to log in to server and send email
try:
server = smtplib.SMTP(smtp_server, port)
server.ehlo() # Can be omitted
server.starttls(context=context) # Secure the connection
server.ehlo() # Can be omitted
server.login(sender_email, password)
# TODO: Send email here
except Exception as e:
# Print any error messages to stdout
print(e)
finally:
server.quit()