Gmail通过脚本/机器人单日发信上限是多少?为何发98封就断连
问题核心原因
- 瞬时发信频率超限:Gmail除单日500封的总限额外,还存在分钟级发信频率限制,通常为每分钟20~30封。无间隔批量发送会直接触发频率拦截,由服务端主动断开连接,该拦截不会占用单日限额,也不会提前弹出告警。
- SMTP长连接占用超限:smtplib默认使用长连接传输,Gmail SMTP服务对单条长连接的最大发信量通常限制在100封左右,刚好匹配你发送到98封断开的表现,长时间单连接占用也会被服务端主动切断。
- 批量内容触发风控:同质化HTML内容批量发送时,哪怕无违规特征,也可能触发Gmail反垃圾邮件的临时风控策略,主动断开连接阻断批量发送行为。
修复方案
- 每发送1~2封邮件后添加
time.sleep(3)的等待间隔,将每分钟发信量控制在20封以内,规避频率限制。 - 每发送50封邮件主动调用
smtp.quit()断开现有连接,之后重新完成身份验证创建新的SMTP连接,避免长连接被强制切断。 - 可在每封邮件的标题、HTML正文中添加少量差异化内容(比如收件人昵称、隐式的随机空格),降低内容相似度,避开批量内容风控。
内容的提问来源于stack exchange,提问作者Twfyq Bhyry
相关产品推荐
相关产品推荐

