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

Gmail SMTP连接本地正常但服务器端超时失败求助

排查Chilkat连接Gmail SMTP超时问题

问题概述

本地环境使用Chilkat库发送邮件正常,但搭载Plex的Linux生产服务器无法连接Gmail SMTP服务器,465(SSL)和587(TLS)端口均出现超时错误,已确认服务器端口开放。

排查步骤

1. 验证基础网络连通性

  • 在生产服务器上执行端口连通测试:
    # 测试465端口
    nc -zv smtp.gmail.com 465
    # 测试587端口
    nc -zv smtp.gmail.com 587
    
    如果测试失败,说明出站流量被防火墙/安全组拦截,需检查服务器本地防火墙(如ufw status、iptables -L)或云服务商的出站规则,确保允许访问Gmail SMTP的对应端口。
  • 验证DNS解析:
    nslookup smtp.gmail.com
    
    确认解析到的IP地址正常(如日志中的172.253.115.108属于Google IP段),若解析异常需检查服务器DNS配置。

2. 修正Gmail SMTP配置

  • 必填账号信息:代码中未设置SMTP用户名和密码,这是核心问题。Gmail SMTP需要身份验证,需添加:
    $smtp->put_SmtpUsername("your-gmail-address@gmail.com");
    $smtp->put_SmtpPassword("your-app-password-or-password");
    
    • 若账号开启了2FA,必须使用App密码(在Google账号安全设置中生成);
    • 若未开启2FA,需开启“不太安全的应用访问”(仅旧账号支持,新账号建议用App密码)。
  • 端口对应配置:
    • 465端口(隐式SSL):保持put_SmtpSsl(true);
    • 587端口(TLS):需修改为:
      $smtp->put_SmtpPort(587);
      $smtp->put_SmtpSsl(false);
      $smtp->put_StartTLS(true);
      

3. 更新Chilkat库与系统证书

  • 升级Chilkat版本:当前使用的9.5.0.91版本较旧,可能不支持Gmail要求的TLS 1.2+协议,建议升级到最新版Chilkat库,确保TLS版本兼容性。
  • 检查系统CA证书:Linux系统缺少根证书会导致SSL验证失败,执行以下命令安装/更新证书:
    # Debian/Ubuntu
    apt update && apt install ca-certificates
    # CentOS/RHEL
    yum install ca-certificates
    

4. 排查Plex对网络的影响

  • 检查Plex的网络设置,确认其未修改系统防火墙规则或占用SMTP相关端口;
  • 查看系统进程的网络占用情况,确认无异常进程拦截流量:
    ss -tulpn
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:45:00