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

服务器迁移至GoDaddy后PHP Mailer出现SMTP连接错误求助

PHPMailer迁移至GoDaddy后无法连接SMTP的解决办法

问题背景

Media Temple服务器被收购迁移到GoDaddy后,PHPMailer无法正常运行,不清楚需更新哪些配置,仅找到多年前的相关讨论帖。

报错信息

SMTP错误:无法连接到SMTP主机。邮件发送错误(mail@domain.com) SMTP错误:无法连接到SMTP主机。SMTP服务器错误:未连接时调用了RSET

相关代码

$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->SMTPDebug = 4; 
$mail->isSMTP();
$mail->Host = 'domain.com.';
//$mail->Host = 'localhost';
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true; //SMTP连接不会在每次发送邮件后关闭,减少SMTP开销
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->Username = 'user@domain.com';
$mail->Password = 'password';
$mail->setFrom('user@domain.com', 'user@domain.com');
$mail->addReplyTo('user@domain.com', 'user@domain.com');

核心修复步骤

  • 替换SMTP主机地址:GoDaddy共享主机的官方SMTP服务器是smtpout.secureserver.net,不要使用自己的域名(原代码中domain.com.末尾多了个点,本身也会导致DNS解析失败)。
  • 确认端口与加密匹配:
    • 用465端口时,保持SMTPSecure = PHPMailer::ENCRYPTION_SMTPS
    • 用587端口时,改为SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS
  • 验证认证凭据:用户名必须是完整的GoDaddy邮箱地址,密码如果开启了两步验证,需要使用应用专用密码,而非登录密码。
  • 清理无效配置:原代码中重复设置SMTPDebug,保留$mail->SMTPDebug = 4;即可,方便排查后续问题。

调整后的示例代码

$mail->SMTPDebug = 4; 
$mail->isSMTP();
$mail->Host = 'smtpout.secureserver.net';
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->Username = 'user@domain.com';
$mail->Password = '你的GoDaddy邮箱密码/应用专用密码';
$mail->setFrom('user@domain.com', '自定义显示名称');
$mail->addReplyTo('user@domain.com', '自定义显示名称');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:33:34