WordPress E-posta Gönderilmiyor: SMTP Kurulumu ve Çözümü
WordPress e-postaları neden ulaşmıyor, SMTP kurulumu nasıl yapılır? Sorunun kaynağı, adım adım çözüm ve maillerin spam'e düşmesini önleyen DNS ayarları.
İletişim formundan gelen mesajlar ulaşmıyor. Şifre sıfırlama maili gelmiyor. Sipariş bildirimleri kayboluyor. Ve en kötüsü: form "mesajınız gönderildi" diyor, yani sorunun farkında bile değilsin — ta ki bir müşteri "size yazdım, dönmediniz" diyene kadar.
Bu, WordPress'in en sessiz ve en pahalı sorunu. Sebebi de çoğu kişinin sandığı gibi bir ayar hatası değil, WordPress'in e-posta gönderme şeklinin kendisi.
Neden oluyor?
WordPress, e-postaları sunucunun PHP posta fonksiyonuyla gönderiyor. Bu yöntemde mail, gerçek bir e-posta hesabı üzerinden değil, doğrudan web sunucusundan çıkıyor.
Sorun şu: alıcı taraftaki spam filtreleri bu tür mailleri sevmiyor. Çünkü:
- Kimlik doğrulaması yok. Mail "ben
info@siteniz.com'um" diyor ama bunu kanıtlayamıyor. - Sunucu IP'si itibarsız olabilir. Paylaşımlı hostingde aynı sunucudan spam gönderen başka siteler varsa IP kara listeye girmiş olabiliyor.
- Gönderen adresi sahte görünüyor. Mail Gmail adresinden geliyormuş gibi ayarlanmışsa ama Gmail sunucusundan çıkmıyorsa, filtre bunu sahtecilik sayıyor.
Sonuç: mail ya spam klasörüne düşüyor ya hiç teslim edilmiyor. Bazı hosting firmaları ise PHP posta fonksiyonunu tamamen kapatıyor — o durumda mail hiç çıkmıyor bile.
Belirtileri
- İletişim formu mesajları gelmiyor
- Şifre sıfırlama e-postası ulaşmıyor
- Yeni kullanıcı kayıt bildirimleri gelmiyor
- WooCommerce sipariş e-postaları kayboluyor
- Mailler geliyor ama hep spam klasörüne düşüyor
- Bazı adreslere ulaşıyor, bazılarına ulaşmıyor (özellikle kurumsal adresler)
- Kritik hata durumunda gelen kurtarma modu e-postası ulaşmıyor
Çözüm: SMTP kullan
SMTP (Simple Mail Transfer Protocol), e-postayı gerçek bir posta sunucusu üzerinden, kimlik doğrulamasıyla göndermek demek.
Fark şu: PHP posta fonksiyonunda mail "sunucudan" çıkıyor, SMTP'de gerçek bir e-posta hesabından. Alıcı taraf gönderenin kim olduğunu doğrulayabildiği için mail spam'e düşmüyor.
Kurulum 15 dakika sürüyor ve tek seferlik.
Adım 1: Hangi e-posta hesabını kullanacaksın?
Üç seçenek var, her birinin avantajı farklı.
A) Hostingdeki alan adı e-postası
info@siteniz.com gibi, hosting panelinde oluşturduğun hesap.
Avantajı: Ek maliyet yok, zaten var. Gönderen adresi alan adınla aynı olduğu için en doğal görünen seçenek.
Dezavantajı: Paylaşımlı hostingde sunucu IP'si itibarsızsa yine spam'e düşebiliyor. Günlük gönderim limitleri olabiliyor.
Kime uygun: Düşük hacimli siteler, iletişim formu ve şifre sıfırlama gibi temel ihtiyaçlar.
B) Gmail / Google Workspace
Avantajı: Teslim oranı çok yüksek, Google'ın altyapısını kullanıyorsun.
Dezavantajı: Ücretsiz Gmail hesabında günlük gönderim limiti düşük ve ticari kullanım için uygun değil. Kurulumda uygulama şifresi oluşturman gerekiyor. Gönderen adresi @gmail.com olursa profesyonel durmuyor.
Kime uygun: Google Workspace aboneliği olanlar.
C) Özel e-posta servisi
Brevo, Mailgun, SendGrid, Postmark gibi, sadece e-posta göndermek için kurulmuş servisler. Çoğunun ücretsiz katmanı var.
Avantajı: En yüksek teslim oranı. Hangi mailin ulaştığını, hangisinin açıldığını görebiliyorsun. Sunucu IP'nden bağımsız.
Dezavantajı: Kurulumu diğerlerinden biraz daha uzun; alan adı doğrulaması gerekiyor.
Kime uygun: Düzenli mail gönderen siteler, bülteni olanlar, e-ticaret.
Adım 2: SMTP eklentisini kur
WordPress'e SMTP ayarlarını tanıtmak için bir eklenti gerekiyor. Bu, kurmaya değer az sayıdaki eklentiden biri — çünkü alternatifi yok ve sorunu kalıcı çözüyor.
Yaygın seçenekler: WP Mail SMTP, FluentSMTP, Post SMTP. Üçü de ücretsiz sürümde iş görüyor. Kurulum mantığı hepsinde aynı.
- Eklentiler → Yeni Ekle → eklenti adını ara → Kur → Etkinleştir.
- Eklentinin ayarlar sayfasını aç. Genellikle bir kurulum sihirbazı karşılıyor.
Adım 3: Gönderen bilgilerini gir
İki alan var ve doğru doldurulması kritik:
- Gönderen e-posta (From Email): Mailin kimden geldiği görünecek adres. Bu adres, kullanacağın SMTP hesabıyla aynı olmalı. Farklı olursa spam filtreleri sahtecilik olarak işaretliyor — en sık yapılan hata bu.
- Gönderen adı (From Name): Site adın ya da kurum adın.
Eklentide genellikle "bu ayarları zorla" (Force From Email / Force From Name) diye kutular var. İşaretle — böylece eklentiler kendi gönderen adreslerini kullanmaya çalışmıyor.
Adım 4: SMTP bilgilerini gir
Hosting e-postası kullanıyorsan bu bilgileri hosting panelinde E-posta Hesapları → Yapılandırma Ayarları bölümünde bulabilirsin. Şuna benzer olacak:
| Alan | Değer |
|---|---|
| SMTP Sunucusu | mail.siteniz.com (hostingin verdiği adres) |
| Şifreleme | SSL veya TLS |
| Port | SSL için 465, TLS için 587 |
| Kimlik doğrulama | Açık |
| Kullanıcı adı | Tam e-posta adresi (info@siteniz.com) |
| Şifre | O hesabın şifresi |
Port seçimi: 587 (TLS) çoğu durumda daha sorunsuz çalışıyor. 465 çalışmıyorsa 587'yi dene, tersi de geçerli.
Gmail kullanacaksan: Normal hesap şifren çalışmaz. Google hesabında iki faktörlü doğrulamayı açıp bir "uygulama şifresi" oluşturman ve onu kullanman gerekiyor.
Adım 5: Test et
SMTP eklentilerinin hepsinde bir test bölümü var. Kendi adresine test maili gönder.
Mail geldiyse: Kurulum tamam. Şimdi gerçek testi yap — iletişim formunu doldur ve mesajın geldiğini kontrol et.
Mail gelmediyse: Eklenti genellikle hata mesajı gösteriyor. Yaygın hatalar aşağıda.
Sık karşılaşılan hatalar
"Could not authenticate" / kimlik doğrulama hatası
Kullanıcı adı ya da şifre yanlış. Kontrol et:
- Kullanıcı adı tam e-posta adresi mi? Sadece
infodeğil,info@siteniz.com. - Şifreyi kopyalarken başına/sonuna boşluk gelmiş olabilir.
- Gmail kullanıyorsan normal şifre değil, uygulama şifresi gerekiyor.
"Connection refused" / bağlantı kurulamadı
Port kapalı olabilir. Bazı hosting firmaları güvenlik gerekçesiyle SMTP portlarını kapatıyor.
- 465 yerine 587'yi (ya da tersini) dene.
- Hosting desteğine sor: "SMTP portları dışa açık mı?"
- Sunucu adresini
localhostolarak denemek bazı hostinglerde çalışıyor.
Test maili geliyor ama form mesajları gelmiyor
SMTP çalışıyor, sorun form eklentisinde. Form ayarlarındaki alıcı adresini ve gönderen alanını kontrol et. Formun gönderen adresi olarak ziyaretçinin adresini kullanması yaygın bir hata — bu, mailin sahte görünmesine yol açıyor.
Mailler geliyor ama spam klasörüne düşüyor
SMTP kurulumu sorunun yarısını çözüyor. Diğer yarısı DNS tarafında — aşağıdaki bölüme bak.
Maillerin spam'e düşmemesi için: DNS kayıtları
Bu adım atlanırsa SMTP kurulsa bile mailler spam'e düşmeye devam edebiliyor. Alan adının DNS ayarlarına üç kayıt eklenmesi gerekiyor.
SPF kaydı
"Bu alan adı adına hangi sunucular mail gönderebilir" listesi. Alıcı sunucu, gelen mailin bu listedeki bir kaynaktan gelip gelmediğini kontrol ediyor.
Hosting e-postası kullanıyorsan hosting firman genellikle bu kaydı otomatik ekliyor. Dış bir servis (Brevo, Mailgun gibi) kullanıyorsan o servisin verdiği SPF değerini eklemen gerekiyor.
Dikkat: Bir alan adında tek bir SPF kaydı olabilir. İki ayrı SPF satırı eklersen ikisi de geçersiz sayılıyor. Birden fazla kaynak varsa hepsini tek satırda birleştirmen gerekiyor.
DKIM kaydı
Mailin yolda değiştirilmediğini kanıtlayan dijital imza. E-posta servisin sana bir DKIM değeri veriyor, onu DNS'e ekliyorsun.
DMARC kaydı
SPF ve DKIM doğrulaması başarısız olursa alıcı sunucunun ne yapacağını söyleyen kural. Başlangıç için gözlem modunda bir kayıt eklemek yeterli; zamanla sıkılaştırılabiliyor.
Bu kayıtları alan adının DNS yönetim panelinden ekliyorsun — nameserver'ların nerede ise orada. DNS yönetiminin nerede olduğu konusunda kafan karışıksa site taşıma yazımızdaki nameserver bölümü açıklıyor.
Sunucu taşıdıysan dikkat
Nameserver değiştirdiğinde e-posta kayıtları (MX) da sıfırlanıyor. Site açılıyor ama mailler gelmiyorsa sebep büyük ihtimalle bu.
Taşıma sonrası kontrol listesinin tamamı site taşıma rehberimizde.
Neden bu iş önemli?
Birkaç yerde doğrudan karşılığı var:
- Kaybedilen müşteri. İletişim formundan gelen her mesaj potansiyel iş. Ulaşmayan mesaj, gelmeyen iş demek.
- Kurtarma modu e-postası. Kritik hata durumunda WordPress sana çözüm bağlantısı gönderiyor. Mail çalışmıyorsa o kapı kapalı.
- Şifre sıfırlama. Panele giremediğinde şifre sıfırlama tek yolun olabiliyor — giriş yapamıyorum rehberi.
- Güvenlik bildirimleri. Güvenlik eklentisi şüpheli giriş denemelerini mailde bildiriyor. Ulaşmazsa saldırıdan haberin olmuyor — güvenlik rehberi.
- Düzeltme ve cevap talepleri. Haber sitesi işletiyorsan bu taleplere yasal olarak kısa sürede dönmen gerekiyor — yasal rehber.
Kurulum sonrası kontrol listesi
- SMTP test maili ulaştı mı?
- İletişim formu mesajı geliyor mu?
- Şifre sıfırlama maili geliyor mu?
- Mailler gelen kutusuna mı, spam'e mi düşüyor?
- Gmail, Outlook ve kurumsal bir adrese ayrı ayrı test ettin mi?
- SPF, DKIM ve DMARC kayıtları eklendi mi?
- Gönderen adresi SMTP hesabıyla aynı mı?
- Yönetici e-posta adresi (Ayarlar → Genel) güncel mi?
Sık sorulan sorular
WordPress e-postaları neden gönderilmiyor?
WordPress varsayılan olarak sunucunun PHP posta fonksiyonunu kullanıyor. Bu yöntemde kimlik doğrulaması olmadığı için spam filtreleri mailleri engelliyor ya da spam'e atıyor.
SMTP kurmak ücretli mi?
Hayır. SMTP eklentilerinin ücretsiz sürümleri iş görüyor ve hostingdeki alan adı e-postanı kullanabilirsin. E-posta servislerinin de ücretsiz katmanları var.
İletişim formundan mesaj gelmiyor, sadece bunu mu çözmeliyim?
SMTP kurulumu tüm WordPress e-postalarını birden düzeltiyor — form mesajları, şifre sıfırlama, bildirimler. Tek çözüm hepsini kapsıyor.
Hangi port kullanılmalı, 465 mi 587 mi?
587 (TLS) çoğu durumda daha sorunsuz çalışıyor. Biri çalışmazsa diğerini dene; hosting firmasına göre değişiyor.
Gmail şifrem çalışmıyor, neden?
Google normal hesap şifresiyle SMTP bağlantısına izin vermiyor. İki faktörlü doğrulamayı açıp bir uygulama şifresi oluşturman gerekiyor.
SMTP kurdum ama mailler hâlâ spam'e düşüyor?
DNS tarafında SPF, DKIM ve DMARC kayıtlarının eklenmesi gerekiyor. SMTP kurulumu tek başına yetmeyebiliyor.
Gönderen adresi farklı olabilir mi?
Olmamalı. Gönderen adresi SMTP hesabıyla aynı olmalı; farklı olursa spam filtreleri sahtecilik olarak işaretliyor.
Siteyi taşıdım ve mailler gelmiyor?
Nameserver değişikliğinde MX kayıtları da sıfırlanıyor. E-posta ayarlarının yeni sunucuda yeniden yapılandırılması gerekiyor.
Sonuç
WordPress'in e-posta sorunu bir hata değil, varsayılan yönteminin zayıflığı. Çözümü de tek seferlik: bir SMTP eklentisi, gerçek bir e-posta hesabı ve DNS tarafında üç kayıt.
Kurulum 15 dakika sürüyor ama kaç mesajın kaybolduğunu asla bilemeyeceğin için getirisi ölçülemeyecek kadar büyük.
Diğer WordPress hataları ve çözümleri için hatalar rehberimize bakabilirsin.