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

Laravel邮件连接失败:php_network_getaddresses报错及GoDaddy缓存修复咨询

Laravel邮件连接报错:DNS解析失败与解决方案

首先先把你遇到的报错贴出来,方便定位问题:

Connection could not be established with host p3plvcpnl452615.prod.phx3.secureserver.net :stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known

一、php_network_getaddresses: getaddrinfo failed 核心成因解析

这个报错的本质是DNS解析失败——简单来说,PHP尝试将你配置的邮件服务器主机名转换成对应的IP地址时,系统的DNS解析服务找不到该主机名的有效记录,相当于“找不到这个服务器的实际地址”。

常见触发场景包括:

  • 主机名拼写错误:虽然你说已对比配置,但还是建议再仔细核对MAIL_HOST的值,有没有多打、少打字符(域名不区分大小写,这条概率较低,但值得确认)
  • 服务器DNS配置异常:GoDaddy托管服务器如果未正确使用官方DNS服务器,或DNS服务临时故障,会导致解析失败
  • 网络限制:服务器防火墙/安全组阻止了DNS查询请求(UDP 53端口),无法向DNS服务器发起解析请求
  • 主机名已失效:GoDaddy对邮件服务器集群进行了维护或地址调整,旧的主机名被废弃,不再指向有效IP

二、是否与GoDaddy最新更新有关?

大概率是!GoDaddy经常会对旗下的邮件服务器集群进行维护或地址迭代,尤其是cPanel托管环境。如果这个主机名之前正常可用,突然出现报错,十有八九是GoDaddy更换了该服务器地址,旧主机名已失效。

你可以自行验证:打开GoDaddy提供的终端,执行命令 nslookup p3plvcpnl452615.prod.phx3.secureserver.net,如果返回NXDOMAIN(域名不存在)的提示,就说明该主机名确实已失效,需要去GoDaddy后台获取最新SMTP服务器地址。

三、通过GoDaddy终端修复Laravel配置缓存是否可行?

完全可行!而且这是排查配置类问题的关键步骤——Laravel的config:cache命令会将所有配置打包成一个缓存文件,即便你修改了.env或mail.php,只要未清理缓存,系统仍会沿用旧配置。

具体操作步骤:

  1. 登录GoDaddy主机管理面板,打开Terminal(即你截图中的界面)
  2. 进入Laravel项目根目录,比如执行 cd public_html(根据你的实际项目路径调整)
  3. 依次执行以下命令:
    # 清理配置缓存
    php artisan config:clear
    # (可选)清理路由缓存,避免路由相关配置冲突
    php artisan route:clear
    # (可选)清理视图缓存
    php artisan view:clear
    
  4. 执行完成后,再次测试邮件发送功能,查看问题是否解决

额外排查建议

  • 若验证主机名已失效,前往GoDaddy「Email & Office」面板,找到对应邮箱账户,获取最新的SMTP设置(服务器地址、端口、加密方式),更新到.env文件中
  • 可在终端执行 telnet p3plvcpnl452615.prod.phx3.secureserver.net 587 测试连接,若无法连接,说明要么主机名无效,要么端口被防火墙拦截
  • 牢记:Laravel的.env配置优先级高于config/mail.php,务必确保.env中的MAIL_HOST、MAIL_PORT等参数与官方最新配置一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:21:00