Forum
merhaba,
günlerdir arayıp çözüme ulaşamadığım bir sorun var ve internette bu konu ile ilgili araştırma yapıp forumları okuduğumda genelde hep aynı problemlerin gözlemlendiğini fakat bir sonuca ulaşılamadığını gördüm.
Konu şu ki, php mailer ile posta gönderememe.
SMTP -> ERROR: Failed to connect to server: (0) hatası almak.
Danıştığım kişiler kodlarla uğraşıp 587 ve 564 portları ssl/tls le hep aynı yerlere yoğunlaştı sorunu çözemedik. Bu sorunu hostingi başka sunucuya taşıdıktan sonra yaşamaya başladım.
Fakat kendimce en azından sorunun nereden kaynaklandığını bir kaç deneme yanılma yöntemiyle tespit ettim. Sonuca ulaşamadım ama en azından bu sorunu yaşayanlar adına çözüme ulaşmak ve hem de sorunu çözmek amacıyla burada konu açmaya karar verdim.
Yaptığım testler sonucu bu sorunun php sürümü ile alakalı olduğunu gördüm. PHP 5.2.17 windows platformda plesk panel üzerinden çalıştırdığım zaman smtp mail gönderme fonksiyonu sorunsuz çalışıyor 25 465 ve 587 portlarda gönderebiliyorum. Fakat 5.6.40 ve üstü ( şu an php 7.2 kullanıyorum ) kullandığım zaman smtp 587 ve 465 portlarda mail gönderemiyorum. Yalnızca 25 portu çalışıyor. Bu konuda yardımlarınızı rica ediyorum.
merhaba,
günlerdir arayıp çözüme ulaşamadığım bir sorun var ve internette bu konu ile ilgili araştırma yapıp forumları okuduğumda genelde hep aynı problemlerin gözlemlendiğini fakat bir sonuca ulaşılamadığını gördüm.
Konu şu ki, php mailer ile posta gönderememe.
SMTP -> ERROR: Failed to connect to server: (0) hatası almak.
Danıştığım kişiler kodlarla uğraşıp 587 ve 564 portları ssl/tls le hep aynı yerlere yoğunlaştı sorunu çözemedik. Bu sorunu hostingi başka sunucuya taşıdıktan sonra yaşamaya başladım.
Fakat kendimce en azından sorunun nereden kaynaklandığını bir kaç deneme yanılma yöntemiyle tespit ettim. Sonuca ulaşamadım ama en azından bu sorunu yaşayanlar adına çözüme ulaşmak ve hem de sorunu çözmek amacıyla burada konu açmaya karar verdim.
Yaptığım testler sonucu bu sorunun php sürümü ile alakalı olduğunu gördüm. PHP 5.2.17 windows platformda plesk panel üzerinden çalıştırdığım zaman smtp mail gönderme fonksiyonu sorunsuz çalışıyor 25 465 ve 587 portlarda gönderebiliyorum. Fakat 5.6.40 ve üstü ( şu an php 7.2 kullanıyorum ) kullandığım zaman smtp 587 ve 465 portlarda mail gönderemiyorum. Yalnızca 25 portu çalışıyor. Bu konuda yardımlarınızı rica ediyorum.
Selamlar
Kullanmış olduğunuz host üzerinde smtp kontrolü yaptınız mı? yani sizin yazmış olduğunuz kod ile değil bu bileşenin doğru çalıştığına dair bir kanıtınız var mı elinizde? eğer bu yok ise hosting firması ile iletişime geçebilirsiniz.
php -r "print_r(get_loaded_extensions());"
Bu komut ile çalışan bileşenleri görüntüleyebilirsiniz.Ayrıca;
dpkg -l | grep php5
komut ile de versiyonlarına kadar görüntüleyebilirsiniz.
Cenker Çetin
Dijital Dönüşüm Danışmanı
merhaba,
günlerdir arayıp çözüme ulaşamadığım bir sorun var ve internette bu konu ile ilgili araştırma yapıp forumları okuduğumda genelde hep aynı problemlerin gözlemlendiğini fakat bir sonuca ulaşılamadığını gördüm.
Konu şu ki, php mailer ile posta gönderememe.
SMTP -> ERROR: Failed to connect to server: (0) hatası almak.
Danıştığım kişiler kodlarla uğraşıp 587 ve 564 portları ssl/tls le hep aynı yerlere yoğunlaştı sorunu çözemedik. Bu sorunu hostingi başka sunucuya taşıdıktan sonra yaşamaya başladım.
Fakat kendimce en azından sorunun nereden kaynaklandığını bir kaç deneme yanılma yöntemiyle tespit ettim. Sonuca ulaşamadım ama en azından bu sorunu yaşayanlar adına çözüme ulaşmak ve hem de sorunu çözmek amacıyla burada konu açmaya karar verdim.
Yaptığım testler sonucu bu sorunun php sürümü ile alakalı olduğunu gördüm. PHP 5.2.17 windows platformda plesk panel üzerinden çalıştırdığım zaman smtp mail gönderme fonksiyonu sorunsuz çalışıyor 25 465 ve 587 portlarda gönderebiliyorum. Fakat 5.6.40 ve üstü ( şu an php 7.2 kullanıyorum ) kullandığım zaman smtp 587 ve 465 portlarda mail gönderemiyorum. Yalnızca 25 portu çalışıyor. Bu konuda yardımlarınızı rica ediyorum.
Selamlar
Kullanmış olduğunuz host üzerinde smtp kontrolü yaptınız mı? yani sizin yazmış olduğunuz kod ile değil bu bileşenin doğru çalıştığına dair bir kanıtınız var mı elinizde? eğer bu yok ise hosting firması ile iletişime geçebilirsiniz.
php -r "print_r(get_loaded_extensions());"
Bu komut ile çalışan bileşenleri görüntüleyebilirsiniz.Ayrıca;
dpkg -l | grep php5
komut ile de versiyonlarına kadar görüntüleyebilirsiniz.
domaini kendi dedicated sunucumda barındırıyorum.
belirttiğiniz şekilde çalışan bileşenler şunlar.
Array ( [0] => Core [1] => bcmath [2] => calendar [3] => ctype [4] => date [5] => filter [6] => hash [7] => iconv [8] => json [9] => SPL [10] => pcre [11] => readline [12] => Reflection [13] => session [14] => standard [15] => mysqlnd [16] => tokenizer [17] => zip [18] => zlib [19] => libxml [20] => dom [21] => PDO [22] => openssl [23] => SimpleXML [24] => xml [25] => wddx [26] => xmlreader [27] => xmlwriter [28] => cgi-fcgi [29] => curl [30] => gd [31] => gettext [32] => imap [33] => mbstring [34] => mysqli [35] => Phar [36] => pdo_mysql [37] => pdo_sqlite [38] => sockets [39] => sqlite3 [40] => xsl [41] => sqlsrv [42] => pdo_sqlsrv [43] => ionCube Loader [44] => Zend OPcache )
Selamlar,
Aşağıda paylaşacağım kaynaklar ile mail fonksiyonunuzu kontrol edebilirsiniz.
http://php.net/manual/en/refs.remote.mail.php
http://php.net/manual/en/ref.mail.php
Bir de PHPMAILER'i göremedim. Aşağıdaki linkten indirip deneyebilirsiniz.
https://github.com/PHPMailer/PHPMailer/releases
include
'class.phpmailer.php'
;
$mail
=
new
PHPMailer();
$mail
->IsSMTP();
$mail
->SMTPAuth = true;
$mail
->Host =
'smtp.sitem.com'
;
$mail
->Port = 587;
$mail
->Password =
'çokgizlişifre'
;
$mail
->SetFrom(
$mail
->Username,
'Benim Adım'
);
$mail
->CharSet =
'UTF-8'
;
$mail
->Subject =
'Mail Başlığı'
;
$mail
->MsgHTML(
'Mailin içeriği!'
);
if
(
$mail
->Send()) {
echo
'Mail gönderildi!'
;
}
else
{
echo
'Mail gönderilirken bir hata oluştu: '
.
$mail
->ErrorInfo;
}
Cenker Çetin
Dijital Dönüşüm Danışmanı
SMTP olarak yandex yada gmail deki hesaplarınızı dener misiniz? Kullandığınız panelden smtp port bilgilerini ve adresi barındıran bilgilerin olması lazım
Örneğin Cpnalede:
Yukardaki gibi bilgiler mevcut. Kontrol edip o bilgileri kullanabilir misiniz?
Kişisel bir olay
SMTP olarak yandex yada gmail deki hesaplarınızı dener misiniz? Kullandığınız panelden smtp port bilgilerini ve adresi barındıran bilgilerin olması lazım
Örneğin Cpnalede:
Yukardaki gibi bilgiler mevcut. Kontrol edip o bilgileri kullanabilir misiniz?
yandex.com 587 ve yandex.com.tr 465 bunlar denendi. sorun port ve SMTP kodlarında değil. php sürümüyle alakalı. plesk panelde php fastcgi 5.2.17 eski sürümünde kodlar sorunsuz mail gönderiyor. 5.6.40 ve üzeri php sürümleri kullandığımızda ise sadece 25 portu ile gönderiliyor. 587 tls ve 465 ssl ile gönderimlerde SMTP server bağlantı hatası veriyor. PHP 5.6.40 sürümü ve üzzerinde 25 portu hariç mail gönderilmiyor.
Söylediğiniz php sürümü çok eski, büyük ihtimalle kullanıdığınız PHPMailer'de eski versiyon.
https://github.com/PHPMailer/PHPMailer
Burada ki yeni PHPMailer versiyonu ile test etmenizde fayda var.
şu an 7.2.6 php sürümünü kullanıyorum. Yukarıdaki verdiğiniz linklerdeki phpmailer güncel sürümünüde denedik maalesef sonuç aynı.
peki php debug açtığınızda aldığınız hata nedir? sunucu size hangi hata ile dönüyor? logları paylaşabilir misiniz?
Cenker Çetin
Dijital Dönüşüm Danışmanı