gpt4 book ai didi

python 3.9.0 smtplib.SMTPNotSupportedError : STARTTLS extension not supported by server

转载 作者:行者123 更新时间:2023-12-04 22:38:43 29 4
gpt4 key购买 nike

我正在尝试使用亚马逊价格跟踪器的 smtp 模块发送带有 gmail 的电子邮件。几天前,它工作得很好,但今天它出现了这个错误:

     File "C:\Users\61409\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 755, in starttls
raise SMTPNotSupportedError(
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.
这是最初有效但给出错误的代码:
import smtplib
def send_email():
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()


server.login('xxxxxxxx@gmail.com', '*password*')
subject = f'The price of your product has fallen'

body = f'Check the amazon link - {URL}'

msg = f"Subject: {subject}\n\n{body}"

server.sendmail(
'xxxxxxx@gmail.com',
'xxxxxxx@gmail.com',
msg
)
print('The email has been sent')

server.quit()
我尝试创建另一个 gmail 帐户并使用 SSL(也导入 ssl),但另一个 gmail 帐户出现了同样的问题,并且在使用 SSL 时,它出现了 SMTP AUTH 问题(也无法解决这个问题)。我允许了不太安全的应用程序,但同样的问题仍然存在。我也试过删除第一个 server.ehlo()我也尝试过使用 server.set_debuglevel(1)但两者都不起作用。我也尝试过使用 with stmplib.SMTP(*Host*, *Port*) as server:我试过只使用 SMTP 而不使用 Ssl 和 TLS,但两个答案都不起作用。大多数答案删除了 smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.但出现了其他问题,例如 smtplib.SMTPServerDisconnected: Connection unexpectedly closed这与其他答案一起发生了很多次。我尝试研究连接意外关闭的解决方案,但这些答案都没有奏效。
这些是我尝试过的答案:
SMTPException: STARTTLS extension not supported by server
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server
Python 2: SMTPServerDisconnected: Connection unexpectedly closed
Python3 SMTP 'Connection unexpectedly closed'
https://www.reddit.com/r/Python/comments/5grxy8/python_smtplib_connection_unexpectedly_closed/daumi2m/
How to send an email with Python?
我该如何解决这个问题?,我错过了什么吗?我需要使用另一个模块或库来发送电子邮件吗???如果这是一个具有可行答案的重复问题,我深表歉意。如果我提到的其中一个不工作的答案确实有效,我也道歉,除非我搞砸了代码。

最佳答案

smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.

与服务器的 SMTP 连接似乎没有提供 STARTTLS 扩展,至少从客户端的角度来看是这样。此扩展在对客户端初始 EHLO 命令的响应中宣布:
$ telnet smtp.gmail.com 587
...
Connected to smtp.gmail.com.
Escape character is '^]'.
220 smtp.gmail.com ESMTP h9sm19557267wre.24 - gsmtp
EHLO mail.example.com
250-smtp.gmail.com at your service, ...
250-SIZE 35882577
250-8BITMIME
250-STARTTLS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
...
鉴于 smtp.gmail.com 绝对支持此扩展,很可能在连接路径的某处中间有一些人,它将流量重写为如下所示:
220 smtp.gmail.com ESMTP h9sm19557267wre.24 - gsmtp
EHLO mail.example.com
250-smtp.gmail.com at your service, ...
250-SIZE 35882577
250-8BITMIME
250-XXXXXXXA <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
...
此处服务器的响应更改为不再显示对 STARTTLS 的支持,希望客户端在不加密的情况下继续运行,从而可以将邮件分析为中间人。中间这样的人通常是公司防火墙,如 Cisco ASA但也可以是 ISPlocal antivirus products .

A few days ago, it was working perfectly but today it came up with this error:


检查本地安全产品(防病毒)或其设置是否有任何变化,或者您的环境是否有变化(企业防火墙、您使用的不同网络......)。

关于python 3.9.0 smtplib.SMTPNotSupportedError : STARTTLS extension not supported by server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65650345/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com