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

某GoDaddy服务器PHPMailer无法运行:SMTP connect()失败求助

GoDaddy服务器PHPMailer无法连接SMTP问题排查与解决

问题描述

同一PHPMailer脚本在本地环境和另一台GoDaddy服务器上正常运行,但在某台GoDaddy服务器上提示SMTP连接失败错误。使用PHPMailer 5.2.27版本,Gmail账号已配置应用密码。

测试脚本

<?php
$to = "username@gmail.com";
$subject = "Test Subject";
$message = "Test email message";

require("PHPMailer/PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail->SMTPDebug = 3;
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->SMTPOptions = array(
    "ssl" => array(
        "verify_peer" => false,
        "verify_peer_name" => false,
        "allow_self_signed" => false
    )
);
$mail->IsHTML(true);
$mail->CharSet = "UTF-8";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "username@gmail.com";
$mail->Password = "password";
$mail->SetFrom("username@gmail.com", "Website Admin");
$mail->AddAddress($to, "Website Admin");
$mail->Subject = $subject;
$mail->Body = "<html><body style='font-family:Arial, Helvetica, sans-serif;'>";
$mail->Body .= "<table>";
$mail->Body .= "<tr><th>Email:</th><td>$to</td></tr>";
$mail->Body .= "<tr><th>Message:</th><td>$message</td></tr>";
$mail->Body .= "</table>";
$mail->Body .= "</body></html>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients.";
$mail->WordWrap = 70;

if($mail->Send())
{
    echo "Mail sent";
}
else
{
    echo "Mailer Error: " . $mail->ErrorInfo;
}
?>

错误信息

Mailer Error: SMTP connect() failed.

排查与解决步骤

  • 检查GoDaddy服务器的SMTP端口限制
    GoDaddy部分服务器会限制对外SMTP端口(如465、587)的访问,强制使用自身SMTP服务。尝试改用GoDaddy官方配置:

    • Host设为smtpout.secureserver.net
    • Port选465(SSL)、80或3535(非SSL)
    • 用户名/密码使用GoDaddy主机绑定的邮箱账号
  • 确认PHP环境的openssl扩展状态
    运行phpinfo()查看openssl扩展是否启用。若未开启,通过主机控制面板启用,或联系GoDaddy客服协助开启。

  • 升级PHPMailer版本
    5.2.27版本较陈旧,存在SMTP兼容性Bug。建议升级到最新6.x版本,新版本修复了大量SSL/TLS连接问题,对现代SMTP服务支持更完善。

  • 调整SSL验证配置
    修改SMTPOptions中allow_self_signed为true,避免服务器证书验证失败导致连接中断:

    $mail->SMTPOptions = array(
        "ssl" => array(
            "verify_peer" => false,
            "verify_peer_name" => false,
            "allow_self_signed" => true
        )
    );
    
  • 检查服务器防火墙规则
    部分GoDaddy服务器的防火墙会拦截外部SMTP请求,联系技术支持确认是否有出站端口限制,申请开放对smtp.gmail.com的465/587端口访问。

  • 尝试TLS加密替代SSL
    修改加密方式和端口,部分服务器对TLS兼容性更好:

    $mail->SMTPSecure = "tls";
    $mail->Port = 587;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:20:59