Plesk kullanan sunucularda mail kuyruğunun şişmesi, sistem yöneticilerinin en sık karşılaştığı problemlerden biridir. Gönderilmeyen veya ertelenen e-postalar bir süre sonra binlerce mesaja ulaşabilir. Bu durum hem mail servisinin yavaşlamasına hem de sunucunun genel performansının düşmesine neden olur.
Özellikle mail, web ve veritabanı servislerinin aynı sunucu üzerinde çalıştığı yapılarda bu tür problemler çok daha sık yaşanır.
Mail Queue şişmesinde yapılabilecek ilk şey kuyruktaki mesajları kontrollü bir şekilde silerken hangi yöntemin hangi durumda kullanabileceğini bilmektir.
Plesk Arayüzü Üzerinden Temizleme
Panel üzerinden temizleme işlemi küçük ölçekli kuyruklar için uygundur. Ek bir komut olmadan gerçekleşir ve işlem tamamen Plesk arayüzünden yapılır.
Mail Queue Ekranına Girelim
Plesk panelde yönetici olarak giriş yaptıktan sonra ayarlar kısmına girelim. Bu sayfada mail başlığı altında yer alan Mail Server Settings seçeneğine tıklayalım.

Sayfa açıldıktan sonra üst menüden Mail Queue sekmesine geçelim. Bu ekranda sunucuda gönderilmeyi bekleyen ve ertelenmiş tüm postalar listelenir.
Clear ile Remove Arasındaki Fark Nedir?
Mail Queue ekranında yer alan Clear ve Remove seçenekleri benzer görünse de farklı amaçlara hizmet eder.
Clear butonu, mail kuyruğunda bekleyen tüm mesajları tek seferde siler. Kuyruk tamamen kontrolsüz hâle geldiyse veya spam çıkışı geniş bir alana yayılmışsa bu seçenek tercih edilir.
Remove ise yalnızca seçili e-postaları siler. Belirli bir gönderen adresi, domain veya alıcıya ait mesajları hedeflemek istiyorsan Remove kullanmak daha doğru olur. Bu yaklaşım, gereksiz yere tüm kuyruğu silmenin önüne geçer ve kullanıcı hatalarını azaltır.
Kuyruktaki Mesajları İnceleyelim
Mail Queue listesinde özellikle Sender ve Status alanlarına bakalım.
Aynı gönderen adresinden yüzlerce veya binlerce mesaj varsa bu durum genellikle spam çıkışına işaret eder.

*Bu aşamada temizlik işlemine geçmeden önce ilgili mail hesabı kontrol edilmelidir. Gerekirse hesabın şifresi değiştirilir veya geçici olarak devre dışı bırakılır.
Tüm Mail Kuyruğunu Temizleme
Tüm mail kuyruğunu silmek için Mail Queue ekranının üst kısmında yer alan Clear butonuna tıklanır. Bu işlem kuyruktaki tüm e-postaları kalıcı olarak siler.

Sadece Seçili Mesajları Silme
Eğer tüm kuyruğu silmek istemiyorsak, sadece belirli mesajları temizleyebiliriz. Bunun için listeden silinmek istenen e-postalar checkbox ile işaretleyelim. Seçim yapıldıktan sonra Remove butonuna tıklayalım.
Panel temizleme yavaşsa ne yapılmalı?
Mail kuyruğu çok büyükse panel üzerinden yapılan temizleme sırasında arayüz yavaşlayabilir veya işlem uzun süre yanıt vermeyebilir.
Bu gibi durumlarda sadece temizlik yapmak yeterli olmayabilir ve ilgili servislerin kontrollü şekilde yeniden başlatılması gerekebilir.
Böyle bir senaryoda panelden beklemek yerine SSH ile temizleme yöntemi tercih edilmelidir. SSH yöntemi, büyük kuyruklarda çok daha hızlı ve stabildir.
SSH ile Mail Kuyruğu temizleme
SSH üzerinden temizleme yöntemi, özellikle binlerce mail içeren kuyruklarda daha hızlı ve daha güvenilir sonuç verir. Plesk, mail kuyruğunu temizlemek için kendi CLI araçlarını sunar. Sunucuya root kullanıcıyla SSH bağlantısı kuralım.
Tüm Kuyruğu Silmek
Kuyruktaki tüm mailleri hem giden hem bekleyen anında silmek için bu komutu kullanalım.
postsuper -d ALLSadece Deferred Ertelenmiş Mailleri Silmek
Hata aldığı için tekrar gönderilmeyi bekleyen, genellikle spam olan mailleri silmek içinse aşağıdaki komutu kullanalım.
postsuper -d ALL deferredBelirli Bir Göndericiden Gelen Mailleri Silmek
Eğer tek bir e-posta hesabı kuyruğu şişiriyorsa bunu uygulayalım.
<code>mailq | tail -n +2 | awk 'BEGIN { RS = "" } /spam@alanadi\.com/ { print $1 }' | tr -d '*!' | postsuper -d -</code>Kuyruk Durumunu Kontrol Etme
Kuyrukta kaç adet mail olduğunu ve neden biriktiğini anlamak için şu komutları kullanabiliriz.
- Kuyruk sayısını görmek için:
mailq | grep -c "^[A-F0-9]" - Kuyruktaki maillerin içeriğine bakmak için:
postcat -q [MAIL_ID]
Kuyruğun KaynağınıTespit Etme
Eğer gönderici kısmında e-posta adresi yerine sistem kullanıcısı görüyorsanız, mail bir PHP dosyası tarafından gönderiliyor olabilir. Hangi dosyanın buna sebep olduğunu bulmak için
- Önce
mailqile bir Mail ID seçelim - Şu komutla dosya yolunu izleyelim
postcat -q A1B2C3D4 | grep "X-PHP-Originating-Script"Bu çıktı size doğrudan zararlı yazılımın barındığı dizini verecektir.
Temizlik sonrası kontrol
Temizleme işlemi tamamlandıktan sonra tekrar Plesk paneline dönelim ve Mail Queue sekmesi yenileyelim. Liste boşsa işlem başarıyla tamamlanmıştır.
Gelecekte Kuyruk Şişmesini Nasıl Önlerim?
Mail kuyruğunu temizlemek sorunu geçici olarak çözer. Asıl önemli olan, aynı problemin tekrar yaşanmamasını sağlamaktır. Bunun için Plesk üzerinde birkaç temel ayarın mutlaka yapılması gerekir.
Giden Mail Sınırı Koyulmalı
Plesk panelde Tools & Settings > Outbound Spam Protection kısmından her domain için saatlik limit belirleyelim.

SPF ve DKIM Kayıtlarını Kontrol Edelim
Plesk’te her domain için Mail Settings bölümünden SPF ve DKIM ayarlarının aktif olduğundan emin olunmalıdır. Çünkü SPF ve DKIM kayıtları eksik veya hatalıysa, gönderilen mailler karşı sunucular tarafından reddedilir

Relay Ayarlarını Kapatalım
Plesk panelde ayarlar bölümünden relay ayarları kontrol edilmelidir. Mail sunucusunun Open Relay durumunda olması, en kritik güvenlik risklerinden biridir. Open Relay olan bir sunucu, dışarıdan herkes tarafından mail göndermek için kullanılabilir.
