2016-07-07 175 views
0

我正在一個網站上工作,並且其中有一個表單用於通過PHPMailer通過gmail發送電子郵件。PHPMailer SMTP連接失敗 - GoDaddy

我已將它設置正確,因爲它適用於我的AWS EC2服務器。但是,當我在GoDaddy託管計劃中使用完全相同的設置時,它不起作用(是的,我更改了'require'路徑)。

我收到此錯誤:

Mailer Error: SMTP connect() failed.

這裏是我的代碼:

$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

您是否嘗試評論'$ mail-> isSMTP()'的建議? http://stackoverflow.com/questions/18496650/smtp-connect-failed-message-was-not-sent-mailer-error-smtp-connect-failed –

+0

@timberspine我只是這樣做,它不起作用。 – RedXTech

+0

打開調試'$ mail-> SMTPDebug = 1'時,你看到了什麼? –

回答

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; 
0

我有類似的問題。 GoDaddy不允許外部使用電子郵件與您的域名。如果你聯繫支持,你應該得到相同的答案。

+0

我也有同樣的問題,但我提到的解決方案工作正常。 –

0

我發現爲什麼這不起作用 - GoDaddy,出於某種原因不喜歡讓他們的客戶使用其他人的SMTP服務器,所以你要麼使用cPanel提供的電子郵件託管,這是非常緩慢並且無益。

我所做的就是將腳本託管在AWS ec2實例上,並將腳本的表單轉換爲該腳本。

相關問題