Ana içeriğe geç

E-posta Gönderilmiyor

E-posta teslim sorunları için adım adım sorun giderme.


Adım 1: Temel Kontroller

# .env SMTP ayarlarını kontrol edin
grep MAIL_ .env

Şunları doğrulayın:

  • MAIL_MAILER=smtp (log veya null değil)
  • MAIL_HOST doğru
  • MAIL_PORT doğru (TLS için 587, SSL için 465)
  • MAIL_USERNAME ve MAIL_PASSWORD dolu
  • MAIL_ENCRYPTION=tls (veya ssl)

Adım 2: Admin Paneli Üzerinden Test

  1. Admin > Ayarlar > E-posta bölümüne gidin
  2. Test E-postası Gönder'e tıklayın
  3. Başarısız olursa hata mesajını kontrol edin

Adım 3: Komut Satırı Üzerinden Test

php artisan tinker
Mail::raw('Test', function ($m) {
$m->to('[email protected]')->subject('Test');
});

Hatalar için storage/logs/laravel.log dosyasını kontrol edin.


Yaygın Sorunlar

SorunÇözüm
"Connection timed out" (Bağlantı zaman aşımı)587/465 portu barındırma tarafından engellenmiş. 2525 portunu deneyin veya barındırma sağlayıcısıyla iletişime geçin.
"Authentication failed" (Kimlik doğrulama başarısız)Yanlış kullanıcı adı/şifre. Gmail için Uygulama Şifresi kullanın.
"Certificate verify failed" (Sertifika doğrulama başarısız)Eski PHP. config/mail.php mailer seçeneklerinde 'verify_peer' => false deneyin.
E-postalar spam'e düşüyorSPF, DKIM ve DMARC DNS kayıtlarını ekleyin.
E-postalar gecikiyorQUEUE_CONNECTION=database mı kullanıyorsunuz? Kuyruk işçisinin çalıştığından emin olun.
Hata yok ama e-posta yokMAIL_MAILER=log mu kullanıyorsunuz? E-postalar gönderilmiyor, günlüğe kaydediliyor. storage/logs/laravel.log dosyasını kontrol edin.

Hata Ayıklama İçin MAIL_MAILER=log Kullanımı

Gerçek alıcıları etkilemeden e-posta içeriğini doğrulamak için .env dosyasında MAIL_MAILER=log ayarlayın. Bu, tüm e-postaları göndermek yerine günlük dosyasına kaydeder.


Sonraki Adımlar