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

Python smtplib+Gmail加代理遇Connection not allowed错误求助

解决使用SOCKS5代理通过smtplib发送Gmail邮件时的Connection not allowed by ruleset错误

我已经能通过Gmail应用专用密码、Python的smtplib库正常发送邮件,但给脚本添加代理支持时遇到了如下错误:

socks.GeneralProxyError: Socket error: 0x02: Connection not allowed by ruleset

相关代码片段:

socks.set_default_proxy(socks.SOCKS5, host, port, True, user, passw)
socks.wrapmodule(smtplib)

session = smtplib.SMTP('smtp.gmail.com', 587)
session.login(sender_address, sender_pass) 

解决建议

  • 检查代理服务器规则:该错误表明代理服务器拒绝了连接请求,需确认代理服务商是否允许访问smtp.gmail.com:587端口,部分代理会限制邮件类出站端口。
  • 验证代理参数:确认host、port、user、passw等代理参数的准确性,尤其是用户名密码是否与服务商提供的一致,SOCKS5认证方式是否匹配。
  • 尝试关闭代理认证:若代理无需认证,将set_default_proxy的第4个参数(True)改为False,并移除后续的user和passw参数。
  • 切换端口或代理类型:尝试使用SMTP SSL端口465替代587;若SOCKS5代理受限,可尝试HTTP代理(需注意smtplib配合HTTP代理的额外处理)。
  • 测试代理连通性:先用curl -x socks5://user:passw@host:port smtp://smtp.gmail.com:587(替换对应参数)测试代理能否访问目标地址,排除代理本身的连通问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:06:33