PHPMailer GoDaddy Server SMTP Connection Deny

2022-08-30 16:14:12

前几天,我的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) 带端口 587 的 TLS 2) 不使用端口 25、80 和 3535 的 SSL。2)我自己的gmail地址修改服务器,用户名,密码等。


答案 1

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

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

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

//$mail2->Port = 465;

我以前尝试过用户名,登录名,端口等。当我评论了所有这些,只是与localhost一起去时,它起作用了。


答案 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),服务器中继托管.secureserver.net,smtpout.secureserver.net:[port]等),用户名,密码等之后。我打电话给goDaddy。又过了40分钟,据透露:

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

2)goDaddy正在转向cPanel电子邮件帐户。砰!时间表?"...在未来2到3年内!

3)当我与代表通电话时,我将我们的帐户从Workspace移动到cPanel帐户。真的很容易做到。

4) 将电子邮件帐户(包括编辑 MX 记录)更改为 cPanel 电子邮件(与“工作区”电子邮件相比)后,使用 PHPMailer 的 Web 表单电子邮件的相应设置如下:

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

...和其他一切(如上所述)相同...

我用PHPMailer构建的网络表单在这次更改后完美地工作!

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

一个额外的好处是,网络邮件(有人再使用它了吗?)可以在[yourdoman]\webmail上访问。没有更多神秘的网址要记住!这些帐户可以是IMAP或POP!

诚然,这意味着您必须使用goDaddy的cPanel电子邮件帐户,但是让Web表单与PHPMailer完美无缺地工作是真正的奖励!


推荐