我正在一个网站上工作,其中有一个用于通过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;
关于这个问题的任何想法?
答案 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实例上,并将脚本的表单发布到该实例上。