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

Python smtplib返回250 OK但Gmail收件人未收到企业域名发送邮件的技术排查问询

结合你给出的代码、日志和测试结果,我来逐个解答你的问题,帮你快速定位问题以便向负责人汇报:

1. Python SMTP 使用逻辑是否正确?

你的代码逻辑完全没问题!从SMTP日志能看到:连接正常建立、认证成功、邮件被企业邮件服务器完整接收并返回250 OK,而且同域名同事能正常收到邮件——这说明代码的发送流程是完全有效的,不存在通用发送故障。

不过可以给两个小优化建议,让代码更健壮(但这些不是导致Gmail收不到的原因):

  • 用with语句管理SMTP连接,不用手动调用quit(),会自动处理连接关闭,避免遗漏:
    with smtplib.SMTP_SSL("<my-company-name>.com", 465) as server:
        server.set_debuglevel(1)
        server.login(sender_email, sender_password)
        server.send_message(msg)
    
  • 给MIMEText邮件添加Message-ID头,部分邮件系统会对缺少这个头的邮件更严格:
    from email.utils import make_msgid
    msg["Message-ID"] = make_msgid()
    
2. 问题是否更可能是投递/认证问题而非代码问题?

绝对是投递/认证类的问题,和代码无关。

核心依据:

  • 你的SMTP日志显示邮件已经被企业邮件服务器(gatorxxxx.hostgator.com)完全接收并确认,这意味着代码已经完成了它的全部职责,剩下的投递工作是由企业邮件服务器负责的。
  • 同域名邮箱能正常接收,说明邮件服务器本身的发送功能正常,只是投递到Gmail时被拦截了。
  • Gmail对外部邮件的过滤机制非常严格,尤其是没有正确配置SPF/DKIM/DMARC的邮件,很可能直接被丢弃(连垃圾邮件箱都不会进入)。
3. 应请求运维/管理员执行哪些具体检查项?

因为你没有cPanel权限,需要让运维团队重点检查以下几个关键配置(按优先级排序):

  • SPF记录验证:确认域名的DNS SPF记录是否包含当前发件服务器gatorxxxx.hostgator.com的IP或域名。SPF用来验证发件服务器是否被授权发送该域名的邮件,Gmail会严格校验这一项。比如正确的SPF记录格式可能类似v=spf1 include:hostgator.com ~all(具体需根据HostGator官方要求调整)。
  • DKIM配置检查:检查域名是否在DNS中配置了DKIM密钥,且企业邮件服务器(HostGator)已启用DKIM签名。DKIM会给邮件添加数字签名,让收件方验证邮件未被篡改,Gmail会优先信任带DKIM签名的邮件。
  • DMARC记录配置:确认域名是否设置了DMARC记录,DMARC会告知Gmail如果SPF/DKIM验证失败该如何处理(比如拒绝或标记为垃圾邮件)。至少要设置基础的记录来收集验证失败报告,比如v=DMARC1; p=none; sp=none; rua=mailto:dmarc@yourcompany.com,方便后续排查。
  • 反向DNS(PTR)检查:确认发件服务器的IP地址对应的反向DNS记录是否指向你的企业域名相关地址。Gmail会拒绝反向DNS不匹配的邮件。
  • 邮件服务器投递日志排查:让运维查看HostGator邮件服务器的投递日志,查找针对Gmail收件地址的退信信息或延迟记录——有时候Gmail会返回具体的拦截原因(比如“SPF验证失败”),这能直接定位问题根源。
  • 发件IP信誉复查:虽然你说域名不在黑名单,但可以让运维检查发件服务器的IP是否在Gmail内部信誉列表中,或被第三方信誉服务(如Spamhaus)标记。

内容的提问来源于stack exchange,提问作者Hamza Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 09:27:41