python-3.x - 尝试通过 Python 发送电子邮件时出现问题

标签 python-3.x email ssl

操作系统: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/

相关文章:

python - pip ssl证书错误OSX安装scrapy

linux - 如何远程关闭基于 Linux 的计算机?

java - 如何使用 java Spring MVC 安排邮件

sql-server - 在 dockerized C sharp 微服务中播种/迁移数据时 SSL_ERROR_SSL MSSQL 握手失败

php - 错误后继续执行代码并稍后在 PHP 中处理它们?

java - starttls.enabled = true 对于从 java 代码发送邮件是安全的吗?

javascript - OneSignal hello-world 网页 - 无通知

python - 如何将 Pandas 数据框显示为 flask 引导表?

python - 为什么 pygame.event.get() 每帧只能调用一次

python - 在 amazon/aws-cli docker 镜像上安装 python 3.9