2013-10-01 75 views
2

我一直在試圖從我的PHP文件發送郵件發送郵件,我有這樣的SMTP連接()失敗......而我想從我的PHP文件

**"SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known. (0) SMTP connect() failed."** 

,我在一個錯誤我的項目的最後期限,如果有人知道我在這裏完成的解決方案或錯誤,請分享和幫助。 我在這裏分享我的代碼.........

<?php 
    require("C:/xampp/htdocs/conference/PHPMailer-master/class.phpmailer.php"); 
    require("C:/xampp/htdocs/conference/PHPMailer-master/class.smtp.php"); 

    $mail = new PHPMailer(); 

    $mail->IsSMTP(); // telling the class to use SMTP 
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only 
    $mail->SMTPAuth = true; // SMTP authentication 
    $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail 
    $mail->Host  = "smtp.gmail.com"; // SMTP server 
    $mail->Port  = 465; // SMTP Port 
    $mail->Username = "my email address"; // SMTP account username 
    $mail->Password = "my password";  // SMTP account password 

    $mail->SetFrom('my email address', 'xxxx'); // FROM 
    $mail->AddReplyTo('my email address', 'xxxx'); // Reply TO 

    $mail->AddAddress('someone email address', 'yyyy'); // recipient email 

    $mail->Subject = "First SMTP Message"; // email subject 
    $mail->Body  = "Hi! \n\n This is my first e-mail sent through Google SMTP using PHPMailer."; 

    if(!$mail->Send()) { 
     echo 'Message was not sent.'; 
     echo 'Mailer error: ' . $mail->ErrorInfo; 
    } else { 
     echo 'Message has been sent.'; 
    } 
?> 
+0

嘗試更改端口號爲587,並重新啓動服務器 – jayadevkv

回答

3

我發現這個問題的解決方案,

檢查你的PHP是否使用OpenSSL的擴展或不...!

  1. 編輯您的的php.ini從您安裝了PHP文件夾
  2. 搜索延長= php_openssl.dll
  3. 最初看起來像這樣;延長= php_openssl.dll
  4. 去除 ';'它看起來像這樣延長= php_openssl.dll
  5. 如果你不能找到延長= php_openssl.dll,加入這行延長= php_openssl.dll
  6. 然後重新啓動您的Xampp或LAMP或APACHE服務器(取決於您正在使用哪些服務器)。

希望這種方法能夠解決您的問題...

-3

有雙引號

$mail->Host  = "smtp.gmail.com"; // SMTP server 

請刪除雙引號。

$mail->Host  = 'smtp.gmail.com'; // SMTP server 
+0

我曾經嘗試你的建議,但再次相同的錯誤。 – elayaraja

+0

嘗試查看此文檔中的每個變量並查看它是否與您的匹配。點擊[這裏](https://github.com/Synchro/PHPMailer/blob/master/README.md)。 例如,您的用戶名和密碼也不能用雙引號括起來。慢慢來,仔細閱讀。衆所周知,他們偷偷摸摸地搞砸了。 另外,請使用ssl://smtp.gmail.com。這讓你的程序知道它應該使用一個協議。 – MichaelP