2013-07-16 90 views
5

Tüm sabah google'ı denemeyi düşünüyorum ve şimdi Stackoverflow'a ihtiyacım var! PHPMailer hatası: SMTP -> HATA: Sunucuya bağlanılamadı

ben (gmail hotmail itibaren) bir posta göndermek için basit bir senaryo yazdı ama bu hatayı alıyorum:

SMTP -> HATA: Sunucuya bağlanamadı: Bağlı parti yaptılar bağlantı girişimi başarısız oldu Bir süre sonra düzgün yanıt vermiyor veya bağlı ana makine yanıt vermediği için kurulan bağlantı başarısız oldu. (10060) SMTP Connect() başarısız oldu. MY UYGUN POSTA (hotmail -

sendmail_from:

<?php 
require_once("../includes/phpMailer/class.phpMailer.php"); 
require_once("../includes/phpMailer/class.smtp.php"); 


$to_name = "RECEIVER NAME"; 
$to = "[email protected]"; 


$subject = "Mail test at " . strftime("%T", time()); 

$message = "This is a test message"; 
$message = wordwrap($message, 70); 


$from_name = "MY NAME"; 
$from = "[email protected]"; 


$mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->SMTPDebug = 2; 
$mail->Host = "smtp.live.com"; 
$mail->Port = 25; 
$mail->SMTPAuth = true; 
$mail->Username = "MY USERNAME (hotmail)"; 
$mail->Password = "MY PASSWORD (hotmail)"; 


$mail->FromName = $from_name; 
$mail->From = $from; 
$mail->AddAddress($to, $to_name); 
$mail->Subject = $subject; 
$mail->Body = $message; 

$result = $mail->Send(); 

echo $result ? 'Sent' : 'Error'; 

?> 

Başka bilgi bile standart posta() fonksiyonu çalıştı ve bunu buldum ben php bilgi kontrol:

Bu Hata

kodudur)

sendmail_path - bir değer

SMTP - localhost

smtp_port - 25

Teşekkür ederim!

+0

, ana makine/isp bağlantı noktalarını engelliyor mu? – fortune

cevap

4

Bağlantı noktası 25'in smtp.live.com adresinde engellendiğine inanıyorum. Buradan smtp.live.com:25 adresine bağlanamıyorum. TLS ile yerine 587 numaralı bağlantı noktasını kullanmayı deneyin. Yani, şöyle olacaktır: PHP OpenSSL uzantısı veya değil kullanıp kullanmadığını

$mail->Port = 587; 
$mail->SMTPSecure = 'tls'; 
+0

Deniyorum, ancak iki hata alıyorum: Bağlantı noktası için: SMTP -> SUNUCU: 220 BLU0-SMTP125.phx.gbl Microsoft ESMTP POSTA Hizmet [...] Hizmet kapanış iletim kanalı SMTP Connect() başarısız oldu . TLS hata Bu: Uyarı: stream_socket_enable_crypto() [streams.crypto]: bu akım, C SSL/kripto desteklemez: \ wamp \ www \ photo_gallery \ içerir \ PHPMailer \ class.smtp.php hattı 254 ile Ve ayrıca bu hatanın sonunda: MÜŞTERİ -> SMTP: SMTP'den çık -> SUNUCU SUNUCU: SMTP -> HATA: SMTP sunucusu reddedildi komutu: SMTP Connect() başarısız oldu. Hata – johnnyfittizio

+0

, TLS için sunucunuza gerekli şifreleme kitaplıklarına sahip olmadığınıza benziyor. Smtp.live.com aracılığıyla göndermek için TLS veya SSL'ye ihtiyacınız olacak. Geçici bir çözüm olarak, bir gmail hesabın var mı? Öyleyse, 25 numaralı bağlantı noktasında SSL veya TLS şifrelemesi olmadan smtp.gmail.com aracılığıyla gönderebilirsiniz. – mti2935

+0

Evet, gmail hesabım var. Gmail'den hotmail'e göndermek için tersi denemeyi önerir misiniz? – johnnyfittizio

2

bu sorun için bir çözüm buldum, ... Bu

kontrol deneyin!

  1. düzenleyin yüklü php klasöründen php.ini
  2. Arama uzantısı = php_openssl.dll
  3. ilk bu gibi görünecek için; extension = php_openssl.dll
  4. Kaldır ';' Eğer uzantısı = php_openssl.dll bulmak Bu hat uzantısı = php_openssl.dll ekleyemezseniz ve bu uzatma = php_openssl.dll
  5. gibi görünecektir.
  6. Daha sonra Xampp veya LAMP veya APACHE sunucunuzu yeniden başlatın (bunlardan hangilerinin kullandığınıza bağlı olarak değişir). Bu yöntem sorunu çözmek zorundadır

Umut ... Desteklenen bağlantı noktalarını kontrol etmek isteyebilirsiniz

+1

Phew, teşekkürler! Bu cevap bana bir sürü bela kazandı. OpenSSL PHP eklentisi, varsayılan olarak yeni bir kurulumda varsayılan olarak etkin değildir (CentOS 6, PHP 5.6). – zmippie

0

. Örneğin, ana bilgisayarım 25, 3535 ve 80 numaralı bağlantı noktalarıyla smtp'yi destekliyor.
Bağlantı noktası 80'i kullanmak benim için çalıştı

İlgili konular