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

Python中smtplib.SMTP_SSL无法正常工作的问题求助

解决Python发送Gmail邮件时的连接超时问题

可能的原因及修复步骤

1. 修正SMTP服务器地址

Gmail的SMTP SSL服务器地址是smtp.gmail.com,而非代码里的smtp.google.com,这是常见拼写错误,修改后代码片段:

with smtplib.SMTP_SSL(host='smtp.gmail.com', port=465, context=context) as server:

2. 替换为应用专用密码

Google目前禁止直接使用账号密码登录第三方邮件客户端,需:

  • 开启Google账号的两步验证
  • 到账号「安全」页面生成应用专用密码,替换代码中password字段的空值

3. 排查网络连接

  • 执行ping smtp.gmail.com测试域名解析是否正常
  • 用telnet smtp.gmail.com 465验证465端口是否能访问,若无法连接,大概率是本地防火墙、代理拦截了请求,需调整网络设置

4. 添加超时限制

在SMTP_SSL初始化时加入超时参数,避免无限等待:

with smtplib.SMTP_SSL(host='smtp.gmail.com', port=465, context=context, timeout=10) as server:

5. 尝试STARTTLS连接方式

若SSL连接仍异常,可改用587端口的STARTTLS模式:

context = ssl.create_default_context()
with smtplib.SMTP(host='smtp.gmail.com', port=587) as server:
    server.starttls(context=context)
    server.login(username, password)
    server.sendmail(username, receiver, message)

额外优化点

邮件主题与正文间需空一行,避免客户端解析异常:

message = """
Subject: hi

how are you?
"""

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:12:14