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

Google Colab运行SMTP连接时报OSError: [Errno 99]错误怎么解决

报错根本原因

该报错的核心是Google Colab底层基于Google Cloud Platform(GCP)运行,GCP默认对所有普通计算实例封禁了SMTP协议默认使用的25号端口的出站连接,以此防范垃圾邮件滥用行为。你本地个人设备没有对应的端口封禁策略,所以可以正常连接,Colab实例发起25端口的出站连接时会被网络ACL直接拦截,导致套接字无法分配可用的连接地址,最终抛出OSError: [Errno 99] Cannot assign requested address错误。

调整方案
  • 更换连接端口:Gmail SMTP服务器同时支持587(STARTTLS加密)、465(SSL加密)端口,这两个端口不在Colab的封禁列表内,修改对应代码即可正常运行,参考修改后代码:
import smtplib
# 方案1:使用587端口+STARTTLS加密
smtp = smtplib.SMTP(host='alt1.gmail-smtp-in.l.google.com', port=587, timeout=10)
smtp.starttls()
# 建立连接后执行ehlo验证
print(smtp.ehlo())

# 方案2:使用465端口+SSL加密
# smtp = smtplib.SMTP_SSL(host='alt1.gmail-smtp-in.l.google.com', port=465, timeout=10)
# print(smtp.ehlo())
  • 替换调用方案:如果是用于Gmail邮件的收发操作,更推荐使用官方Gmail API替代原生SMTP调用,完全规避端口限制问题,同时权限控制颗粒度更精细,安全性更高。
  • 注意:Colab普通用户没有权限修改底层GCP网络ACL规则,没有办法解封25端口,不需要尝试寻找底层网络配置调整入口,无操作权限。

内容的提问来源于stack exchange,提问作者Question-er XDD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:15:03