SMTP connect() failed Hatası: WordPress’te Nasıl Çözülür?

WordPress SMTP Bağlantı Zaman Aşımı Nasıl Çözülür?

WordPress’te e-posta göndermeye çalıştığınızda SMTP connect() failedhatası alıyorsanız, ekranda şu mesajı görürsünüz:

SMTP Error: Could not connect to SMTP host.
SMTP connect() failed.

Bu hata, WordPress’in posta sunucusuna hiç bağlanamadığı anlamına gelir. Kimlik doğrulama aşamasına bile gelinmemiştir — bağlantı daha kurulamamıştır. Bu iyi haber sayılır, çünkü sebep sınırlı sayıda ve teşhisi hızlıdır.

İçindekiler

  1. Önce bunu deneyin
  2. SMTP connect() failed ne anlama gelir
  3. Neden 1: Port ve şifreleme eşleşmiyor
  4. Neden 2: Hosting giden portu engelliyor
  5. Neden 3: Sunucu adı yanlış
  6. Sunucudan bağlantı testi
  7. SMTP connect() failed çözüldü mü: doğrulama
  8. AIOWS SMTP Yöneticisi
  9. Sık sorulanlar
  10. Kaynaklar

Önce bunu deneyin

Vakaların çoğunda sebep tek bir uyumsuzluktur: port ile şifreleme türü birbirine uymuyor.

SMTP ayarlarınıza gidin ve şu iki kombinasyondan birini kullandığınızdan emin olun:

PortŞifreleme
587STARTTLS
465SSL/TLS

587’ye SSL/TLS ya da 465’e STARTTLS seçilmişse bağlantı kurulamaz. Doğru eşleşmeyi seçip kaydedin ve test edin.

Düzelmezse okumaya devam edin.

SMTP connect() failed ne anlama gelir

WordPress e-posta gönderirken PHPMailer kütüphanesini kullanır. SMTP yapılandırıldığında PHPMailer önce posta sunucusuna bir TCP bağlantısı açmaya çalışır. Bu adım başarısız olursa SMTP connect() failed hatası döner.

Hata genellikle iki alt biçimde görünür ve ikisinin sebebi farklıdır.

Bağlantı reddedildi (connection refused).Karşı taraf bağlantıyı aktif olarak geri çeviriyor. Genellikle o portta dinleyen bir servis yok ya da güvenlik duvarı anında kapatıyor. Hata hızlı gelir.

Zaman aşımı (connection timed out).Karşı taraf hiç cevap vermiyor. Genellikle giden trafik engelleniyor ve paketler sessizce düşürülüyor. Hata otuz saniye kadar bekledikten sonra gelir.

Hatanın ne kadar sürede geldiği teşhise yardımcı olur: anında geliyorsa reddediliyor, bekletip geliyorsa engelleniyor.

Neden 1: Port ve şifreleme eşleşmiyor

En yaygın sebep bu ve düzeltmesi en kolay olanı.

587 numaralı port düz bağlantı olarak açılır, sonra STARTTLS komutuyla şifrelemeye geçilir. 465 numaralı port ise bağlantının ilk baytından itibaren şifrelidir.

Bu ikisi karıştırıldığında ne olur: 465’e STARTTLS ile bağlanmaya çalışırsanız sunucu şifreli veri bekler, siz düz metin gönderirsiniz, bağlantı kopar. Tersinde ise sunucu düz bağlantı bekler, siz TLS el sıkışması başlatırsınız, yine kopar.

Sağlayıcınızın belgelediği çifti kullanın. İkisi de destekleniyorsa 587 + STARTTLS daha yaygındır.

Neden 2: Hosting giden portu engelliyor

Paylaşımlı barındırma sağlayıcıları giden SMTP trafiğini sınırlar. 25 numaralı port neredeyse her zaman kapalıdır; bazı sağlayıcılar 587 ve 465’i de kapatır.

Bu durumda SMTP connect() failed hatası zaman aşımı biçiminde gelir, çünkü paketler hedefe hiç ulaşmaz.

Sırayla deneyin:

587 çalışmıyorsa 465’i deneyin. Bazı sağlayıcılar birini açık, diğerini kapalı tutar.

İkisi de çalışmıyorsa 2525 numaralı portu deneyin. Bazı işlemsel e-posta sağlayıcıları bu portu alternatif olarak sunar ve barındırma firmaları genellikle engellemez.

Hiçbiri çalışmıyorsa sağlayıcınıza yazın. Sorulacak soru net: “Sunucudan giden 587 ve 465 numaralı portlar açık mı, değilse açabilir misiniz?”

Sağlayıcı açmıyorsa kalan yol, SMTP yerine API üzerinden gönderim yapan bir işlemsel e-posta servisi kullanmaktır. Bu servisler 443 numaralı port üzerinden çalışır ve o port hiçbir zaman engellenmez.

Neden 3: Sunucu adı yanlış

Daha az görülür ama gözden kaçması kolaydır.

Yazım hatası.smtp.gmai.comgibi bir harf eksikliği DNS çözümlemesini başarısız yapar ve bağlantı hiç denenmez.

Yanlış sunucu.Gelen posta sunucusu (imap.ya da pop.ile başlayan) SMTP için kullanılamaz. Gönderim için smtp.ile başlayan adres gerekir.

Paylaşımlı hostingte alan adı henüz yayılmamış.mail.alanadiniz.comkalıbını kullanıyorsanız ve alan adı yeni taşınmışsa DNS kaydı henüz oluşmamış olabilir.

Sunucudan bağlantı testi

SSH erişiminiz varsa, sorunun WordPress’te mi yoksa sunucuda mı olduğunu tek komutla anlayabilirsiniz.

587 için:

openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf

465 için:

openssl s_client -connect smtp.gmail.com:465 -crlf

Sunucu adını kendi değerinizle değiştirin.

ÇıktıAnlamı
220ile başlayan bir karşılama satırıBağlantı kuruldu, sorun WordPress ayarlarında
Connection refusedO portta dinleyen servis yok, sunucu adı veya port yanlış
Uzun bekleyip Connection timed outGiden port engelleniyor, sağlayıcınıza sorun
verify errorile başlayan satırlarSertifika sorunu, bağlantı yine de kurulmuş olabilir

Çıkmak için QUITyazıp Enter’a basın.

SSH erişiminiz yoksa barındırma sağlayıcınızın destek ekibinden bu testi yapmasını isteyebilirsiniz.

SMTP connect() failed çözüldü mü: doğrulama

Hatayı çözdüğünüzü düşünüyorsanız üç kontrolü de yapın.

KontrolBeklenen
Eklentinin test e-postasıHatasız gönderilir
Gerçek bir olay (form gönderimi)Gelen kutusuna düşer
Kasten yanlış port girin, test edinHata geri gelmeli

Üçüncüsü, bağlantının gerçekten kurulduğunu kanıtlar. Yanlış portla test hâlâ “başarılı” diyorsa eklenti SMTP’yi kullanmıyor, eski gönderim yoluna düşüyor demektir. Kontrolden sonra doğru portu geri girin.

AIOWS nasıl yardımcı olur?

AIOWS SMTP Yöneticisi

AIOWS SMTP Yöneticisi, yaygın sağlayıcılar için sunucu ve port değerlerini hazır sunar. Gmail, Outlook ve Office 365, Yahoo, Zoho ile SendGrid, Mailgun, Amazon SES, Brevo, SparkPost ve Postmark gibi işlemsel sağlayıcılar listeden seçilir; port ile şifreleme eşleşmesi doğru olarak gelir, yani bu makalenin birinci nedeni baştan ortadan kalkar. Hosting sağlayıcınızın kendi sunucusunu kullanıyorsanız “Özel SMTP Sunucusu” seçeneğiyle değerleri elle girersiniz.

Bağlantı testi, sunucuyla yapılan konuşmayı adım adım gösterir. Bağlantının hangi aşamada koptuğunu bu dökümden okursunuz — yukarıdaki openssltestinin verdiği bilgiyi panelden, SSH erişimi gerekmeden.

Gmail ve Microsoft 365 için EasyConnect farklı bir yol izler. Normal OAuth kurulumu Google Cloud Console’da proje açmayı, izin ekranını yapılandırmayı, kimlik bilgisi üretmeyi ve yönlendirme URI’si tanımlamayı gerektirir. EasyConnect’te “Google ile bağlan” düğmesine basarsınız, yetkilendirme ekranı açılır, izni verirsiniz ve bağlantı kurulur. Konsol adımı yoktur. Aynı yetkilendirme Yedekleme Yöneticisi’nde de geçerlidir; bir kez bağladığınız hesap her iki modülde kullanılır.

Sınırları açık olsun:modül, barındırma sağlayıcınızın kapattığı bir portu açamaz. SMTP connect() failed hatası engellenen porttan kaynaklanıyorsa çözüm sağlayıcınızdadır — modül size sorunun orada olduğunu gösterir, ama düzeltemez. Sunucu tarafındaki güvenlik duvarı kurallarına da müdahale edemez ve alan adınızın SPF veya DKIM kayıtlarını DNS’e sizin yerinize yazamaz.

AIOWS SMTP Yöneticisi’ni inceleyinAIOWS planlarını karşılaştırın

Sık sorulanlar

SMTP connect() failed hatası şifremin yanlış olduğu anlamına mı gelir?

Hayır. Bu hata bağlantı kurulamadığını söyler; kimlik doğrulama aşamasına hiç gelinmemiştir. Şifre hatası ayrı bir mesajla, 535 koduyla gelir.

Aynı ayarlar başka sitede çalışıyor, burada çalışmıyor. Neden?

İki site farklı sunucularda barındırılıyorsa biri giden portu açık, diğeri kapalı tutuyor olabilir. Sunucudan bağlantı testi bunu kesinleştirir.

Hata bazen geliyor bazen gelmiyor, bu normal mi?

Değil. Aralıklı hata genellikle hız sınırlaması ya da geçici ağ sorunu gösterir. Kısa sürede çok sayıda e-posta gönderiyorsanız sağlayıcınız bağlantıları geçici olarak reddediyor olabilir.

Sertifika doğrulamasını kapatabilir miyim?

Kapatmayın. Bu, bağlantıyı şifresiz hale getirmez ama araya girme saldırılarına açık bırakır. Sertifika hatası alıyorsanız sorun port-şifreleme eşleşmesinde ya da sunucu adındadır.

2525 portu güvenli mi?

Port numarası güvenliği belirlemez, şifreleme belirler. 2525 üzerinden STARTTLS kullanıldığında bağlantı 587 kadar güvenlidir.

Kaynaklar

İlgili Yazılar

All in One WP Settings’i edininEklentiye git