Python smtplib在NetAngels服务器上无法运行求助
解决NetAngels虚拟机上Python smtplib连接Gmail SMTP失败的问题
你遇到的OSError: [Errno 101] Network is unreachable本质是虚拟机无法建立到Gmail SMTP服务器的网络连接,本地正常说明代码逻辑没问题,问题出在NetAngels的网络环境限制,按以下步骤排查:
检查NetAngels的出站端口限制
绝大多数主机服务商为了防控垃圾邮件,会默认封禁25、465、587这类邮件端口的出站流量。你需要登录NetAngels的管理后台查看网络规则,或者直接联系他们的技术支持,确认是否允许出站连接Gmail的SMTP端口。尝试使用NetAngels自带的SMTP服务器
很多主机商会提供内部SMTP服务,无需连接外部邮箱服务器。你可以改用NetAngels提供的SMTP地址(通常是localhost或者主机分配的专属SMTP域名),端口一般为25或587,使用你在NetAngels上创建的邮箱账号和密码登录,这种方式不会受到外部端口封禁的影响。测试网络连通性
在虚拟机的终端执行以下命令,验证是否能连通Gmail的SMTP服务器:# 测试587端口 telnet smtp.gmail.com 587 # 测试465端口 telnet smtp.gmail.com 465如果命令执行后无法建立连接,直接证明是网络层面的阻断,和代码无关。
检查Gmail账号的安全设置
若坚持使用Gmail,需确保:- 账号开启了两步验证,并使用应用专用密码(App Password)替代原密码登录;
- 查看Google账号安全中心,确认虚拟机的IP没有被标记为异常登录来源。
排查虚拟机防火墙/安全组
检查虚拟机自身的防火墙规则(比如ufw或iptables),以及NetAngels控制台的安全组配置,确保出站方向的587、465端口流量被允许。
内容的提问来源于stack exchange,提问作者Дмитрий Дунин
相关产品推荐
相关产品推荐

