2013-05-20 68 views
2

我一直試圖通過GMail在WAMP 上發送帶梨的電子郵件,並花費數小時完成設置後,找出所有我得到的錯誤,我想我是如此接近,直到我開始收到此錯誤:SMTP:無法連接套接字:無法找到套接字傳輸「SSL」

Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to connect socket: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (code: -1, response:)] 

使用此代碼:

<?php require_once "info.php"; require_once "Mail.php"; // info.php contains the variable $password 
$from = "Me <[email protected]>"; 
$to = "Me <[email protected]>"; 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 

$host = "ssl://smtp.gmail.com"; 
$port = "465"; 
$username = "[email protected]"; 
$password = "$password"; 

$headers = array ('From' => $from, 
'To' => $to, 
'Subject' => $subject); 
$smtp = Mail::factory('smtp', 
array ('host' => $host, 
'port' => $port, 
'auth' => true, 
'username' => $username, 
'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 

if (PEAR::isError($mail)) { 
echo("<p>" . $mail->getMessage() . "</p>"); 
} else { 
echo("<p>Message successfully sent!</p>"); 
} 
?> 

我已經經歷了,並取消註釋extension=php_openssl.dll在(正確的)php.ini,a nd確保extension_dir指向DLL。我已經使用phpinfo();,我已經看到多次提到SSL:

我看mod_sslLoaded Modules

mysqlnd標題它有一個入口SSL: supported

而且Phar標題下有入門Native OpenSSL support: enabled

我也關閉了我的防火牆,只是爲了檢查,我重新啓動我的電腦,我已經檢查幾乎像在這個網站礦的每一個問題,我還沒有找到一個解決方案。

我不知道下一步該做什麼。我需要啓用/檢查才能使其工作?

回答

3

在防火牆中打開端口465開放爲smtp.gmail.com :)

This will help

那麼有可能是您的主機,否則,

Try This問題 - 這是工作我

你有沒有允許SMTP在Gmail

檢查「設置」是用於SMTP的主動在您的Gmail設置中發揮作用。

+0

我附近,我有我的防火牆完全脫落到底說了。無論如何,我嘗試過,但它沒有奏效。 –

+0

我沒有使用Ubuntu(儘管我擁有它),我使用的是Windows 7.我還檢查了GMail中的所有設置,並且一切都很順利。感謝您花時間,我希望我能弄明白這一點。:) –

+0

Niceeee,謝謝解決我的問題 – Flappy

2

Uncoment php_openssl.dll在php.ini

1

答案很簡單;你應該做的第一件事:

  1. 打開文件php.ini然後嘗試搜索鍵extension。那麼如果你找不到這個extension=php_openssl.dll,請寫下來,但要確保你刪除;之前的單詞extension

  2. 一旦你保存它,請再次重新啓動XAMPP服務器。之後,一切都很好。

+0

正如我在問題中所述,我已經這樣做了。無論如何,我最終還是做了其他事情,因爲我從來沒有這樣做過,儘管我甚至不記得這是什麼。 –