DirectAdmin, web hosting yönetimi için popüler ve hafif bir kontrol panelidir.
Ancak zaman zaman mail kuyruğunda biriken e-postalar (mail queue) sistem performansını düşürebilir, sunucunun IP adresinin SPAM listelerine girmesine neden olabilir.
Bu durum genellikle:
- E-posta saldırıları (spam bot, PHP mailer),
- Yanlış yapılandırılmış formlar,
- Hatalı DNS/MX kayıtları
gibi nedenlerle ortaya çıkar.
Bu yazıda, DirectAdmind mail kuyruğu nasıl temizlenir, hangi komutlar kullanılır, spam tespitinde hangi adımlar uygulanmalıdır — hepsini adım adım öğreneceksin.
Mail Kuyruğu (Mail Queue) Nedir?
Mail kuyruğu, gönderilmeyi bekleyen veya gönderilemeyen e-postaların geçici olarak saklandığı alandır.
DirectAdmin, varsayılan olarak Exim mail sunucusunu kullanır.
Yani sistemdeki tüm e-postalar Exim tarafından yönetilir ve şu dizinde saklanır:
/var/spool/exim/input
Bir mail kuyruğunda yüzlerce hatta binlerce dosya biriktiğinde, e-posta teslimatı gecikir ve CPU/disk kullanımı yükselir.
Mail Kuyruğunu Görüntüleme
Öncelikle kuyrukta kaç mail olduğunu görmek için SSH ile root olarak sunucuya bağlan ve şu komutu çalıştır:
exim -bpc
Bu komut toplam kuyruk sayısını verir.
Örneğin:
1250
çıktısı, 1250 adet bekleyen e-posta olduğunu gösterir.
Daha detaylı bilgi için:
exim -bp
veya
exim -bp | exiqsumm
komutlarını kullanarak e-posta göndericilerini, alıcıları ve tarih bilgilerini listeleyebilirsin.
Mail Kuyruğu Neden Dolar?
| Neden | Açıklama |
|---|---|
| 📬 PHP mailer script | Zararlı scriptler spam e-posta gönderir |
| 🔄 Yanlış yapılandırılmış SPF/DKIM | Mail sunucusu reddedilir, kuyruk dolar |
| 🐌 DNS veya MX hatası | Alıcı sunucuya ulaşamayan mailler birikir |
| 📈 Yüksek trafik veya bot saldırısı | SMTP portuna yönelen saldırılar mail trafiğini artırır |
| 🗃️ Yedekleme/cron script hatası | Hatalı scriptler sürekli e-posta üretir |
Mail Kuyruğunu Temizleme (Adım Adım)
1. Tüm Kuyruğu Temizleme
Eğer kuyruktaki tüm e-postaları silmek istiyorsan, şu komutu çalıştır:
exim -bp | exiqgrep -i | xargs exim -Mrm
Bu komut, tüm mesaj ID’lerini tarar ve kuyruktaki her e-postayı siler.
Sonrasında tekrar kontrol et:
exim -bpc
Eğer 0 dönerse, kuyruk başarıyla temizlenmiştir.
2. Belirli Domain veya Göndericiye Ait Mailleri Silme
Örneğin spam gönderen bir domain tespit ettiysen:
exiqgrep -i -f spam@domain.com | xargs exim -Mrm
Belirli bir alıcıya ait e-postaları silmek için:
exiqgrep -i -r user@domain.com | xargs exim -Mrm
Böylece sadece ilgili hesaplara ait kuyruk temizliği yapılır.
3. Frozen (Donmuş) Mailleri Silme
“Frozen” olarak işaretlenmiş e-postalar, alıcıya ulaşamayıp beklemeye alınan mesajlardır.
Bunları temizlemek için:
exim -bp | grep frozen | awk {'print $3'} | xargs exim -Mrm
Bu komutla sistemdeki tüm “frozen” mailler kaldırılır.
4. Exim Servisini Yeniden Başlatma
Kuyruk temizliğinden sonra servisleri yeniden başlatmak önemlidir:
service exim restart
veya systemd sistemlerinde:
systemctl restart exim
Ayrıca mail loglarını da kontrol et:
tail -f /var/log/exim/mainlog
Burada spam aktivitelerini, hatalı e-posta yönlendirmelerini ve bounce mesajlarını görebilirsin.
Spam Kaynaklarını Tespit Etme
Kuyruk sürekli doluyorsa, sorun genellikle bir spam gönderim kaynağından kaynaklanır.
Şu adımları izle:
- Son 100 maili listele:
exim -bp | head -n 100 - Göndereni bul:
exim -bp | grep "<" - PHP mail loglarını incele:
grep "mail()" /var/log/exim/mainlog - Eğer aynı dizinden sürekli mail gönderiliyorsa, o dizinde bir PHP mailer script olabilir.
Şüpheli dosyaları şu şekilde bulabilirsin:grep -R "mail(" /home/*
Mail Kuyruğunun Dolmaması İçin Öneriler
- 🔒 SMTP kimlik doğrulaması (SMTP Authentication) zorunlu hale getir.
- 🧩 SPF, DKIM ve DMARC kayıtlarını düzgün yapılandır.
- 🧹 “Frozen” mailleri haftalık cron job ile otomatik temizle:
0 3 * * 7 exim -bp | grep frozen | awk {'print $3'} | xargs exim -Mrm - 🚫 PHP mail() fonksiyonunu yalnızca güvenli kullanıcılar için açık tut.
- 🛡️ CSF Firewall ile 25. portu sınırla.
- 🔍 Mail loglarını düzenli incele ve spam pattern’lerini takip et.
DirectAdmin Mail Kuyruğu Temizleme – Sonuç
DirectAdmin mail kuyruğu temizleme işlemi, yalnızca performans için değil, aynı zamanda e-posta güvenliği açısından da kritik bir adımdır.
Exim üzerinden yapılan bu temizlik, spam kaynaklarını durdurur, IP’nin kara listeye girmesini önler ve sunucunun e-posta teslim başarısını artırır.
Düzenli tarama, log kontrolü ve SPF/DKIM doğrulamasıyla mail trafiğini güvenli tutmak mümkündür.