OS:MacCatalinva V10.15.3
Python:3.7.7
画中画:20.0.2
嘿, 我是编码的新手,所以不确定这到底意味着什么。
我正在尝试通过Gmail通过Python发送电子邮件,已将我的帐户设置为接受“缺乏安全的应用程序访问权限”,并按照this guide中的步骤进行操作,但我得到的只是以下内容:>
`[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1076) 追溯(最近一次通话): 发送中的文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py”,第354行 self.sock.sendall(s) OSError:[Errno 9]错误的文件描述符
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近): 文件“ /Users/mymac/Desktop/Test2.py”,第34行,在 server.quit() 文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py”,第984行,退出 res = self.docmd(“退出”) 在docmd中的文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py”,第420行 self.putcmd(cmd,args) 文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/smtplib.py”,行367,在putcmd中 自我发送(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()
答案 0 :(得分:0)
1)在此行之后:
server.login(sender_email, password)
确保发送您拥有的消息。 为此:
server.sendmail(sender_email,receiver_email,message)
就是这样,我希望。