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

运行Python SMTP脚本时出现socket.gaierror [Errno 11001]求助

排查Python Gmail SMTP脚本的socket.gaierror错误

错误根源

你遇到的socket.gaierror: [Errno 11001] getaddrinfo failed是域名解析失败,直接原因是代码里的Gmail SMTP服务器地址拼写错误:你写的是 "smptp.gmail.com",正确地址应该是 "smtp.gmail.com"(多了一个t)。另外代码里重复创建了两次connection对象,属于冗余代码。

修正后的代码

import smtplib
from credentials import *

# 仅创建一次连接,使用正确的SMTP服务器地址
connection = smtplib.SMTP("smtp.gmail.com", port=587)
connection.starttls()
connection.login(user=my_email, password=password)

# 邮件内容需符合RFC标准,必须包含Subject头和空行分隔
msg = f"Subject: 测试邮件\n\nTesting"
connection.sendmail(from_addr=my_email, to_addrs=to_address, msg=msg)
connection.close()

额外注意事项

  • 确认credentials.py中的my_email、password(双因素认证下生成的专用密码)、to_address变量均正确定义
  • 专用密码必须在Google账户开启双因素认证后,在「安全性」-「应用专用密码」菜单下生成,确保与你的账户匹配
  • sendmail的msg参数必须遵循邮件格式规范:主题行以Subject:开头,后跟空行再写正文,否则收件方可能无法正常显示邮件内容或直接拒收

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:01:15