You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用SMTP发送Gmail邮件时遇TimeoutError[WinError10060]求助

Gmail SMTP发送邮件超时错误(WinError 10060)排查方案

问题描述

我是Python新手,编写了一段使用SMTP发送Gmail邮件的脚本,但运行时出现超时错误。已尝试生成新的Gmail应用密码、修改端口号,问题仍未解决,特此求助。

错误信息

File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\socket.py", line 832, in create_connection
sock.connect(sa)       
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

我的代码

import smtplib

my_email = "myemail@gmail.com"
password = "mypassword"

with smtplib.SMTP("smtp.gmail.com") as connection:
   connection.starttls()
   connection.login(user=my_email, password=password)
   print("logged in")
   connection.sendmail(from_addr=my_email, to_addrs="myanotheremail@gmail.com", msg="Hello")

解决步骤

  • 指定正确端口与协议:Gmail SMTP推荐两种配置,选其一即可:
    1. 用465端口配合SMTP_SSL:
    import smtplib
    
    my_email = "myemail@gmail.com"
    password = "mypassword"
    
    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as connection:
        connection.login(user=my_email, password=password)
        # 构造符合标准的邮件内容,必须包含头信息
        msg = """From: {sender}
    

To: {receiver}
Subject: 测试邮件

Hello
""".format(sender=my_email, receiver="myanotheremail@gmail.com")
connection.sendmail(from_addr=my_email, to_addrs="myanotheremail@gmail.com", msg=msg)

2. 用587端口配合STARTTLS:
```python
import smtplib

my_email = "myemail@gmail.com"
password = "mypassword"

with smtplib.SMTP("smtp.gmail.com", 587) as connection:
    connection.starttls()
    connection.login(user=my_email, password=password)
    # 构造符合标准的邮件内容,必须包含头信息
    msg = """From: {sender}
To: {receiver}
Subject: 测试邮件

Hello
""".format(sender=my_email, receiver="myanotheremail@gmail.com")
    connection.sendmail(from_addr=my_email, to_addrs="myanotheremail@gmail.com", msg=msg)
  • 排查网络拦截:WinError 10060多由网络问题导致,比如本地防火墙/杀毒软件拦截SMTP连接,或所在网络(公司/校园网)屏蔽了Gmail的SMTP端口。可暂时关闭防火墙测试,或切换手机热点尝试。
  • 验证应用密码有效性:确保Google账号已开启2步验证,应用密码是针对"邮件"类应用生成的,复制时无多余空格。
  • 完善邮件格式:原代码中msg仅为"Hello",不符合SMTP邮件标准格式,缺少From、To、Subject等头信息,这会导致服务器拒绝接收,必须按标准格式构造邮件内容。

内容的提问来源于stack exchange,提问作者Umar Arshad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:15:45