python3 smtplib 创建 smtp 服务器 obj 非常慢
python3 smtplib creating the smtp server obj is very slow
我正在尝试编写一个 python3 脚本,它会为我发送一封带有 pdf 附件的电子邮件。我正在关注 video tutorial 并按如下方式创建了 smtp 服务器 obj:
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import smtplib
>>> server=smtplib.SMTP('smtp.gmail.com',587)
这是代码挂起的地方,我不知道为什么。
我试图包含一个低于 5 秒的超时语句,但它仍然挂起超过 5 秒。
>>> import smtplib
>>> server=smtplib.SMTP('smtp.gmail.com',587,5)
ping smtp.gmail.com
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41
telnet smtp.gmail.com 587
Trying 173.194.200.109...
Connected to smtp.gmail.com.
Escape character is '^]'.
我已经排除了以下情况:
我可以 ping smtp.gmail.com,它的响应速度非常快。
gmail 上的 IMAP 已启用。
我不认为这是 IDE,我尝试了 IDLE 和 VS Code,结果相同。
我也可以在端口 587 上远程登录到 smtp.gmail.com,所以在防火墙方面我没问题。
这也不是管理员模式下 运行 和 IDE 的问题。
我已经查看了 smtplib 的 pydoc,我的命令似乎应该有效。
所以我不知道发生了什么。有人以前看过这个吗?
编辑:我在 Python2 上也试过了,这个行为是一样的。
EDIT2:我 运行 使用 wireshark 进行测试。我可以看到我和 smtp 邮件服务器之间的 3way tcp 握手。但是之后就没有联系了。
公司办公室的本地化内部防火墙阻止了它的工作。
我正在尝试编写一个 python3 脚本,它会为我发送一封带有 pdf 附件的电子邮件。我正在关注 video tutorial 并按如下方式创建了 smtp 服务器 obj:
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import smtplib
>>> server=smtplib.SMTP('smtp.gmail.com',587)
这是代码挂起的地方,我不知道为什么。 我试图包含一个低于 5 秒的超时语句,但它仍然挂起超过 5 秒。
>>> import smtplib
>>> server=smtplib.SMTP('smtp.gmail.com',587,5)
ping smtp.gmail.com
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41
Reply from 173.194.200.108: bytes=32 time=35ms TTL=41
telnet smtp.gmail.com 587
Trying 173.194.200.109...
Connected to smtp.gmail.com.
Escape character is '^]'.
我已经排除了以下情况: 我可以 ping smtp.gmail.com,它的响应速度非常快。 gmail 上的 IMAP 已启用。 我不认为这是 IDE,我尝试了 IDLE 和 VS Code,结果相同。 我也可以在端口 587 上远程登录到 smtp.gmail.com,所以在防火墙方面我没问题。 这也不是管理员模式下 运行 和 IDE 的问题。 我已经查看了 smtplib 的 pydoc,我的命令似乎应该有效。
所以我不知道发生了什么。有人以前看过这个吗?
编辑:我在 Python2 上也试过了,这个行为是一样的。 EDIT2:我 运行 使用 wireshark 进行测试。我可以看到我和 smtp 邮件服务器之间的 3way tcp 握手。但是之后就没有联系了。
公司办公室的本地化内部防火墙阻止了它的工作。