转移托管会停止电子邮件表单的工作


Transfer hosting stops email form working

我把我的网站放在一个虚拟服务器上,一切都很好!我把我的主机转移到GoDaddy,当我给自己发一封电子邮件检查它是否有效时,它会抛出这个错误:

SMTP->错误:无法连接到服务器:连接被拒绝(111)以下发件人地址失败:root@localhost:在未连接Mailer的情况下调用了Mail()错误:以下From地址失败:root@localhost:在未连接的情况下调用了Mail()

正如我所说,它在我的旧主机上起作用,我已经在gmail端做了必要的事情,我的证书是100%正确的。但不是我的新1。我必须配置php.ini文件吗?

require_once('includes/class.phpmailer.php');
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; // or 587
$mail->IsHTML(true);
$mail->Username = "user@gmail.com"; 
$mail->Password = "password";
$mail->Subject = "Sponsorship enquiry";
$mail->Body = "<p>Sponsorship form details:</p>";
$mail->Body .= "<p>name: ".$name."</p>";
$mail->Body .= "<p>email: ".$email."</p>";
$mail->Body .= "<p>sport: ".$sport."</p>";
$mail->Body .= "<p>message: ".$message."</p>";
$mail->AddAddress("exeuity@gmail.com");
 if(!$mail->Send()){
  echo "Mailer Error: " . $mail->ErrorInfo;
}
else{
    $_SESSION['success'] = "Email successfully sent AIM will be in contact with you shortly!";
    header("location:athletes.php");
    exit();
}

首先,更新您的PHPMailer-您的代码基于一个旧示例。

您还应该阅读疑难解答文档。

我可以看到你没有设置"from"地址,所以它默认为root@localhost,这可能就是你被拒绝的原因,因为这不是来自外部世界的可路由地址,所以你应该用合理的值调用$mail->setFrom()

GoDaddy因屏蔽或重新路由出站电子邮件而臭名昭著,所以请检查您是否真的在与gmail通话——验证您在通过TLS连接时获得的SSL证书。