PHPMailer GoDaddy 服务器 SMTP 连接被拒绝

新手上路,请多包涵

前几天,我在使用 GoDaddy 托管网站时遇到了一些问题。我打电话给他们的技术支持,与我交谈的人建议我的问题与我在 Windows 机器上的事实有关,在 Linux 机器上会更好。对此没有意见,我同意了,他们把我换了。

在这种转变之后,我的 PHPMailer 功能已经抛弃了我。我已经工作了几个月,所以我知道我的设置是准确的。我已向 GoDaddy 确认,从他们的角度来看,我尝试发送的帐户没有改变。用户端没有进行任何更改(如新密码)。最重要的是,唯一不同的是我的网站现在托管在 Linux 服务器上。而已。

所以我认为我的 PHPMailer 困难一定与此有关,因为一个已经工作了几个月的脚本在服务器转换发生的确切时刻失败了,这太巧合了。但为什么?我花了一个小时与他们的技术支持联系,他们认为服务器设置没有任何问题。我们验证了我的设置(只是为了好玩)。一切看起来都很好,但是当我发送电子邮件时,我收到了这个错误:

SMTP -> ERROR: Failed to connect to server: Connection refused (111)SMTP Connect() failed.

有很多关于此类错误的帖子,几乎所有帖子都与第一次设置错误输入设置或省略设置的人有关。但是,我知道我的设置是完整且准确的,因为我已经成功使用了几个月。为了完整起见,我将它们发布在这里:

 $mail = new PHPMailer();
$mail->IsSMTP();  //telling the class to use SMTP
$mail->isHTML(true);
$mail->Host         = "smtpout.secureserver.net"; //also tried "relay-hosting.secureserver.net"
$mail->WordWrap     = 50;
$mail->SMTPAuth     = true;
$mail->SMTPSecure   = "ssl";
$mail->Port         = 465;
$mail->Username     = "example@email.com";
$mail->Password     = *******;
$mail->Subject      = "Test Email";
$mail->SMTPDebug = 1;

有谁知道为什么会发生这种情况?是否有一些技术支持人员可能不知道的服务器设置,比如在我的 php.ini 文件中?和我一起工作的那个人尽力帮助我,但他可能只是没有意识到一些事情。

任何帮助表示赞赏。让我知道我是否可以提供任何其他信息。谢谢!

编辑:我还应该提到我所做的其他一些尝试。无论如何,我都会得到相同的结果。

  1. TLS 使用端口 587 2) 没有 SSL 使用端口 25、80 和 3535。 2) 我自己的 gmail 地址修改服务器、用户名、密码等。

原文由 AndroidDev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

看来这是一个持续存在的问题,让我添加我自己的经验。

我们的网站使用 PHPMailer,该网站托管在 GoDaddy linux 服务器上。 似乎 正确的设置(根据我在 SO 和 goDaddy 支持网站上找到的所有内容)如下:

 SMTP_SERVER: smtpout.secureserver.net (or alternatively relay-hosting.secureserver.net)
SMTP_PORT: 465 //or 3535 or 80 or 25
SMTP_AUTH: true //always
SMTP_Secure: 'ssl' //only if using port 465

在花了 6 多个小时尝试各种端口(25、3535、4655)、服务器 relay-hosting.secureserver.net、smtpout.secureserver.net:[port] 等)、用户名、密码等。我打电话给goDaddy。又过了 40 分钟,据透露:

1)“工作区”电子邮件帐户正在停用。这很重要,因为如果您今天拥有 goDaddy 的电子邮件帐户,那么您很可能拥有 Workspace 帐户。根据技术支持代表的说法,这是与您的 linux 帐户分开托管的。

  1. goDaddy 正在转向 cPanel 电子邮件帐户。欢呼!时间表? “……未来两三年!”

  2. 当我与代表通电话时,我将我们的帐户从 Workspace 转移到了 cPanel 帐户。真的很容易做到。

  3. 将您的电子邮件帐户(包括编辑您的 MX 记录)更改为 cPanel 电子邮件(相对于“工作区”电子邮件)后,使用 PHPMailer 的网络表单电子邮件的适当设置是:

 SMTP_SERVER: localhost   //(and I mean literally: "localhost"- in place of smtp.secureserver.net and relay-hosting.secureserver.net, etc.)

…和其他一切(如上)相同…

我使用 PHPMailer 构建的 web 表单在此更改后完美运行!

在 PHPMailer 设置中使用您的 cPaneL 电子邮件帐户登录名(用户名)和密码,您的网络电子邮件将无缝运行!

一个额外的好处是可以在 [yourdoman]\webmail 访问 webmail(还有人使用它吗?)。不再需要记住神秘的网址!帐户可以是 IMAP 或 POP!

诚然,这意味着您必须使用 goDaddy 的 cPanel 电子邮件帐户,但让 webform 与 PHPMailer 完美配合才是真正的回报!

原文由 globalSchmidt 发布,翻译遵循 CC BY-SA 3.0 许可协议

我在像@surfbird0713 这样的Linux 上使用GoDaddy。在我的第 32 次尝试中,以下内容也对我有用:

 $mail2->Host = localhost;
//$mail2->SMTPAuth = false;
//$mail2->Username = 'xxxx@xxxxxx.com';
//$mail2->Password = '*******';

//$mail2->SMTPSecure = 'tls';

//$mail2->Port = 465;

我以前尝试过使用用户名、登录名、端口等。当我注释掉所有这些时,只使用 localhost 就可以了。

原文由 Nate Byram 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题