PHPMailer SMTP连接失败 - GoDaddy

时间:2016-07-07 19:48:38

标签: php email phpmailer

我正在一个网站上工作,其中有一个用于通过gmail与PHPMailer发送电子邮件的表单。

我已正确设置,因为它适用于我的AWS EC2服务器。但是,当我在GoDaddy主机方案中使用完全相同的设置时,它不起作用(是的,我更改了'require'路径)。

我收到此错误:

  

邮件程序错误:SMTP连接()失败。

这是我的代码:

$mail = new PHPMailer;

$mail->SMTPDebug = 0;

$mail->isSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = "**********@gmail.com";
$mail->Password = "*************";
$mail->SMTPSecure = "tls";
$mail->Port = 587;

$mail->setFrom("**********@gmail.com", "Red's Mailer");
$mail->addAddress("*********@shaw.ca", "Name");

$mail->isHTML = true;

$mail->Subject = "New Submission From " . $name;
$mail->Body = $html_msg;
$mail->AltBody = $alt_msg;

关于这个问题的任何想法?

3 个答案:

答案 0 :(得分:1)

GoDaddy邮件服务器不支持任何包含aol,gmail,hotmail,yahoo,live,aim或msn的“FROM”标头条目的电子邮件。

如果您正在使用linux cPanel托管计划,那么您需要在PHP代码中更改几行,它才能正常工作!

$mail = new PHPMailer;
$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->Host = 'localhost';
$mail->Port = 25;
$mail->ssl = false;
$mail->authentication = false;
$mail->addAddress("*********@shaw.ca", "Name");
$mail->isHTML = true;
$mail->Subject = "New Submission From " . $name;
$mail->Body = $html_msg;
$mail->AltBody = $alt_msg;

答案 1 :(得分:0)

我有类似的问题。 GoDaddy不允许SMTP在您的域外使用电子邮件。如果您联系支持部门,您应该得到相同的答案。

答案 2 :(得分:0)

我发现为什么这不起作用 - GoDaddy,出于某种原因,不喜欢让他们的客户使用其他任何人的SMTP服务器,所以你要么必须使用提供的电子邮件托管通过cPanel,这是非常缓慢和有效的。

我所做的是将脚本托管在AWS ec2实例上,并将脚本的表单发布到该实例上。