Plesk paneli kullanılan sunucularda mail kuyruğunun zamanla kontrolsüz şekilde büyümesi, sistem yöneticilerinin en sık müdahale etmek zorunda kaldığı sorunlar arasında yer alır.
Teslim edilemeyen ya da ertelenmiş e-postalar kısa sürede birikerek kuyrukta binlerce mesaja ulaşabilir.
Bu tablo, yalnızca mail servisinin yanıt süresini uzatmakla kalmaz, aynı zamanda sunucunun genel performansını da olumsuz etkiler.
Mail, web ve veritabanı servislerinin aynı fiziksel veya sanal sunucu üzerinde konumlandırıldığı yapılarda bu tür kuyruk problemleri çok daha sık görülür.
Mail Queue şişmesiyle karşılaşıldığında atılması gereken ilk adım, kuyruktaki mesajları kontrollü biçimde temizlerken hangi yöntemin hangi senaryoda tercih edilmesi gerektiğini doğru şekilde bilmektir.
Plesk Paneli Üzerinden Mail Kuyruğu Temizleme
Panel üzerinden yapılan temizleme işlemi, genellikle küçük hacimli mail kuyrukları için uygun bir yöntem olarak değerlendirilir.
Bu işlem sırasında herhangi bir ek komut çalıştırmaya gerek kalmaz ve tüm adımlar doğrudan Plesk arayüzü üzerinden gerçekleştirilir.
Mail Queue Ekranına Ulaşalım
Plesk paneline yönetici yetkileriyle giriş yaptıktan sonra ayarlar bölümüne geçelim. Ayarlar sayfasında mail başlığı altında bulunan 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 ve Remove Seçenekleri Arasındaki Temel Fark
Mail Queue ekranında bulunan Clear ve Remove seçenekleri ilk bakışta benzer işlevlere sahip gibi görünse de farklı senaryolar için kullanılır.
Clear butonu, mail kuyruğunda bekleyen tüm mesajları tek bir işlemle siler. Kuyruk tamamen kontrolden çıktıysa veya spam gönderimi geniş çapta yayılmışsa bu yöntem tercih edilir.
Remove seçeneği ise yalnızca işaretlenen e-postaları silmeye yarar. Belirli bir gönderen adresine, domaine ya da alıcıya ait mesajları hedeflemek istediğinde Remove kullanmak daha doğru bir yaklaşımdır.
Bu yöntem, gereksiz şekilde tüm kuyruğun silinmesini engeller ve olası kullanıcı hatalarının önüne geçilmesini sağlar.
Kuyruktaki Mesajları Detaylı İnceleyelim
Mail Queue listesinde özellikle Sender ve Status alanlarına dikkat edelim.
Aynı gönderen adresinden yüzlerce ya da binlerce mesajın yer alması, çoğu zaman 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 bölümünde yer alan Clear butonuna tıklanır.
Bu işlem, kuyrukta bulunan tüm e-postaların kalıcı olarak silinmesini sağlar.

Sadece Seçili Mesajları Silme
Eğer tüm kuyruğun silinmesi istenmiyorsa yalnızca belirli mesajlar temizlenebilir. Bu işlem için listede silinmesi gereken e-postalar checkbox ile işaretlenir. Seçim tamamlandıktan sonra Remove butonuna tıklanır.
SSH Kullanarak Mail Queue Temizleme
SSH üzerinden gerçekleştirilen mail kuyruğu temizleme işlemleri, büyük hacimli kuyruklarda çok daha hızlı ve kontrollü sonuç verir.
Plesk, mail kuyruğunu yönetmek ve temizlemek için kendi CLI araçlarını sunmaktadır.
Bu işlemleri uygulamak için sunucuya root yetkisiyle SSH bağlantısı kuralım.
Tüm Mail Kuyruğunu Temizleme
Kuyrukta yer alan tüm mailleri, gönderilmeyi bekleyen ve çıkış yapan mesajlar dahil olacak şekilde tek seferde silmek için aşağıdaki komutu kullanalım.
postsuper -d ALLSadece Deferred Olan Mailleri Silmek
Hata aldığı için yeniden gönderilmeyi bekleyen ve çoğunlukla spam kaynaklı olan mailleri silmek amacıyla aşağıdaki komutu kullanalım.
postsuper -d ALL deferredBelirli Bir Göndericiden Gelen Mailleri Silmek
Eğer mail kuyruğunu şişiren tek bir e-posta hesabı varsa bu yöntemi uygulayalım.
<code>mailq | tail -n +2 | awk 'BEGIN { RS = "" } /spam@alanadi\.com/ { print $1 }' | tr -d '*!' | postsuper -d -</code>Mail Kuyruğu Kontrolü
Mail kuyruğunda kaç mesaj olduğunu ve bu mesajların hangi sebeplerle kuyrukta beklediğini anlamak için aşağıdaki komutları kullanabiliriz.
Kuyruktaki mail sayısını görmek için
<code>mailq | grep -c "^[A-F0-9]"</code>
Kuyrukta yer alan maillerin içeriğini kontrol etmek için
<code>postcat -q [MAIL_ID]</code>Mail Gönderim Kaynağını Tespit Etme
Gönderici bölümünde e-posta adresi yerine sistem kullanıcısı yer alıyorsa, mail gönderimi bir PHP dosyası üzerinden gerçekleşmiş olabilir.
Bu durumda önce mailq çıktısından bir Mail ID seçelim.
Daha sonra aşağıdaki komut ile maili tetikleyen dosya yolunu inceleyelim.
<code>postcat -q A1B2C3D4 | grep "X-PHP-Originating-Script"</code>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.