当前位置: 首页 > 面试题库 >

PHPMailer GoDaddy服务器SMTP连接被拒绝

吴凯
2023-03-14
问题内容

前几天,我的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地址,用于修改服务器,用户名,密码等。


问题答案:

看来这是一个持续的问题,让我补充一下自己的经验。

我们的网站使用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)的变化后,服务器中继了hosting-
hosting.secureserver.net,smtpout.secureserver.net:[port]等),用户名,密码等。我叫goDaddy。再过40分钟后,发现:

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

2)goDaddy正在使用cPanel电子邮件帐户。欢呼!时间表?“ …在接下来的2至3年内!”

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

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

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

…和其他所有(如上所述)相同…

更改后,我使用PHPMailer构建的Webform可以完美运行!

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

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

诚然,这意味着您必须使用goDaddy的cPanel电子邮件帐户,但是使用PHPMailer使Webform完美无瑕地工作才是真正的收获!



 类似资料:
  • 我正在使用NAT开发一个微服务web应用程序(React和Node)并在GCP Kubernetes集群上运行它。 我无法连接到NAT流服务器POD。端口4222和8222是打开的。我收到连接拒绝错误。 $kubectl描述服务NAT-Srv

  • 我是库伯内特斯的初学者。我正在尝试安装迷你库贝,想在库伯内特斯中运行我的应用程序。我正在使用乌班图 16.04 我已遵循此处提供的安装说明https://kubernetes.io/docs/setup/learning-environment/minikube/#using-带有http代理的minikube 问题1:在安装了kubectl、virtualbox和minikube之后,我运行了命

  • 每次运行Rails4.0服务器时,都会得到这个输出。 我正在运行小牛OS X10.9,所以我不知道这是不是问题所在。我已经试了我能试的一切,但似乎都没有效果。我已经卸载并安装了postgres和pg gem多次了。 这是我的database.yml文件

  • 显示以下错误:: 线程“main”Java.lang.RuntimeException:javax.mail.MessagingException:无法连接到SMTP主机:localhost,端口:587,Sendmail.Main(Sendmail.Java:54)上的响应:421,原因是:javax.mail.MessagingException:无法连接到SMTP主机:localhost,端

  • 我能够在库伯内特斯将两个节点聚集在一起。主节点似乎运行良好,但是在工作节点上运行任何命令都会导致错误:“拒绝与服务器localhost:8080连接——您指定了正确的主机或端口吗?” 来自大师(node1), 来自工作者(节点2), 我不知道如何解决这个问题。感谢您的帮助。 在执行时,"Journal alctl-xeu kubelet"我看到:"CNI未能检索网络命名空间路径:无法为终止的容器找

  • 我的connect调用的结果始终是10061:连接被拒绝。 如果我将服务器代码更改为绑定到::(或者将空主机传递给getaddrinfo()(同样的事情)),并将客户机代码更改为在getaddrinfo()调用中指定空主机,那么V4客户机可以很好地连接。 谁能解释一下为什么?我没有读到任何东西,如果我们想要双套接字行为,我们必须指定一个空主机(因此使用INADDR_ANY)。这不可能是一个要求,因