【问题标题】:Python smtplib ssl sockets take long to createPython smtplib ssl 套接字需要很长时间才能创建
【发布时间】:2020-12-05 08:49:11
【问题描述】:

我有一个非常简单的程序来发送邮件,它使用 pythons smtplib 通过安全套接字发送邮件。由于某种原因,套接字创建大约需要 80 秒。这是我使用的代码:

with smtplib.SMTP_SSL(config['SMTP_HOST'], config['SMTP_PORT']) as server:
    # Send mail here

创建套接字后,一切运行顺利且快速。该问题的临时“修复”是通过一个小的超时,如下所示:

with smtplib.SMTP_SSL(config['SMTP_HOST'],config['SMTP_PORT'], timeout=0.5) as server:
    # Send mail here

现在创建套接字需要 0.5 秒。

有人知道为什么会发生这种情况吗?我使用python 3.9。我在 python 3.7 中对其进行了测试,但遇到了同样的问题。完全相同的脚本会立即在其他计算机上运行,​​所以它可能与 python 无关?我运行 macOS Big Sur 11.0.1。

【问题讨论】:

  • 您是说连接需要 80 秒,还是 80 秒后超时?你的第二个例子表明你没有得到连接,你得到了超时。如果您遇到超时,那么您的问题中几乎没有任何信息可以找出原因。
  • 第一个示例需要 80 秒才能运行。我认为我没有超时,因为在那 80 秒之后它正在发送邮件并且没有超时错误。所以可能需要这 80 秒才能连接。为什么在这种情况下设置一个小的超时时间会有所帮助:不知道。

标签: python sockets smtp smtplib


【解决方案1】:

无论是什么问题,都已通过最新的 Mac OS 更新修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-29
    • 2019-05-27
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多