“gaierror: getaddrinfo failed”报错含义及修复方法
报错含义解释
gaierror: getaddrinfo failed 属于DNS解析失败类错误,底层是操作系统调用getaddrinfo()接口时,无法将你传入的SMTP服务器域名转换为对应的IP地址,导致smtplib无法与目标服务器建立TCP连接。
从你提供的报错代码可以直接定位到首要诱因:你填写的SMTP服务器域名auth.smpt.1and1.co.uk存在拼写错误,正确的1&1 SMTP服务域名应为auth.smtp.1and1.co.uk,你误将smtp拼写为smpt。
排查与解决方法
- 优先修正域名拼写错误,将代码中实例化SMTP的语句改为
s = smtplib.SMTP('auth.smtp.1and1.co.uk', 587),重新运行程序测试,绝大多数拼写类问题修正后即可恢复正常。 - 若修正拼写后仍报错,可先在本地命令行执行
nslookup auth.smtp.1and1.co.uk验证DNS解析是否正常:如果返回结果无有效IP地址,说明当前网络的DNS配置异常,可尝试切换公共DNS(如114.114.114.114、8.8.8.8)后再次测试。 - 排查端口连通性,在命令行执行
telnet auth.smtp.1and1.co.uk 587测试是否能正常连接目标端口:如果连接失败,说明当前网络的防火墙、代理、安全组规则拦截了对应请求,需要联系网络管理员放开587端口的出站访问权限。 - 确认端口配置正确,1&1的SMTP服务TLS加密模式默认使用587端口,不要误填为465等其他SMTP常用端口。
内容的提问来源于stack exchange,提问作者Heather Matthews
相关产品推荐
相关产品推荐

