操作系统: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("退出")
文件“/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 行,在发送中
raise 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()
最佳答案
1)在这一行之后:
server.login(sender_email, password)
确保发送您拥有的消息。
为了那个原因:
server.sendmail(sender_email,receiver_email,message)
就是这样,我希望。
关于python-3.x - 尝试通过 Python 发送电子邮件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60786966/