Mail kuyruğunun aşırı büyümesi, Plesk kullanan sunucularda görev yapan sistem yöneticilerinin düzenli olarak karşılaştığı temel operasyonel problemlerden biridir.
Gönderimi tamamlanamayan veya ertelenmiş durumda kalan e-postalar zamanla birikerek binlerce mesajdan oluşan bir kuyruk haline gelebilir.
Ortaya çıkan bu yoğunluk, mail servisinin performansını düşürdüğü gibi sunucunun genel çalışma dengesini de bozar.
Özellikle mail, web ve veritabanı servisleri aynı sunucu üzerinde birlikte çalışıyorsa bu tip sorunların görülme sıklığı ciddi şekilde artar.
Mail Queue doluluğunda ilk yapılması gereken, kuyruktaki mesajları bilinçli şekilde silerken hangi silme yönteminin hangi durumda kullanılacağını net olarak bilmektir.
Plesk Arayüzünden Mail Queue Yönetimi
Plesk arayüzü kullanılarak yapılan temizleme işlemleri, sınırlı sayıda mesaj içeren mail kuyruklarında tercih edilir.
Herhangi bir terminal veya ek komut gerektirmeden, işlem tamamen Plesk paneli üzerinden yürütülür.
Plesk Üzerinde Mail Queue Sayfasına Geçiş
Plesk panelde admin olarak oturum açtıktan sonra ayarlar sekmesine girelim. Bu alanda mail başlığı altında yer alan Mail Server Settings menüsünü seçelim.

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.
Mail Queue Ekranında Clear ve Remove Ne İşe Yarar?
Mail Queue ekranında yer alan Clear ve Remove butonları benzer görünmesine rağmen farklı amaçlarla kullanılır. Clear, mail kuyruğunda bekleyen bütün mesajları tek seferde silerek kuyruğu tamamen boşaltır. Kuyruk yönetilemez hâle geldiyse veya spam trafiği çok geniş bir alana yayılmışsa bu seçenek tercih edilir.
Remove ise yalnızca seçilen e-postaların silinmesini sağlar. Belirli bir gönderen, domain veya alıcıya ait mesajları temizlemek istiyorsan Remove kullanmak daha sağlıklı olur. Bu yaklaşım, tüm kuyruğun gereksiz yere silinmesini önler ve yanlış işlem riskini azaltır.
Mail Queue İçeriğini Kontrol Edelim
Mail Queue listesinde öncelikle Sender ve Status sütunlarını inceleyelim.
Tek bir gönderen adresinden çok sayıda mesaj bulunması, genellikle spam kaynaklı bir mail trafiğini gösterir.

*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.
Mail Kuyruğunun Tamamını Silme
Mail kuyruğunda yer alan tüm e-postaları silmek için Mail Queue ekranının üst kısmındaki Clear butonuna tıklanır. Bu işlem, kuyruktaki tüm mesajların geri alınamayacak şekilde silinmesine neden olur.

Belirli Mesajları Temizleme
Tüm kuyruğu silmek yerine yalnızca belirli mesajlar temizlenmek istenebilir. Bu durumda silinmesi hedeflenen e-postalar listeden checkbox ile seçilir. Seçim işlemi tamamlandıktan sonra Remove butonuna tıklanır.
Panel Yanıt Vermiyorsa Ne Yapılmalı?
Mail kuyruğu çok büyük hacimlere ulaştığında panel üzerinden yapılan temizleme sırasında arayüz yavaşlayabilir veya işlem yanıt vermeyebilir.
Bu tür senaryolarda yalnızca mesaj silmek yeterli olmaz ve mail servislerinin kontrollü biçimde yeniden başlatılması gerekebilir.
Bu nedenle panelde beklemek yerine SSH üzerinden doğrudan müdahale edilerek temizlik yapılması daha sağlıklı olur.
Mail Kuyruğunu SSH ile Temizleme
SSH üzerinden mail kuyruğu temizlemek, özellikle binlerce mesaj içeren kuyruklarda daha hızlı ve daha güvenilir bir yöntemdir.
Plesk, bu işlem için kendi komut satırı araçlarını sağlar.
Devam etmeden önce sunucuya root kullanıcısı ile SSH üzerinden bağlanalım.
Kuyruğun Tamamını Silmek
Kuyrukta bulunan tüm mailleri, hem giden hem de bekleme durumundaki mesajlar dahil olacak şekilde anında silmek için aşağıdaki komutu kullanalım.
postsuper -d ALLErtelenmiş (Deferred) Mailleri Temizleme
Gönderim sırasında hata almış, tekrar gönderilmek üzere bekleyen ve genellikle spam niteliği taşıyan mailleri silmek için aşağıdaki komut kullanılabilir.
postsuper -d ALL deferredTek Bir Göndericiye Ait Mailleri Temizleme
Mail kuyruğu yalnızca belirli bir e-posta hesabı nedeniyle büyüyorsa bu işlem tercih edilebilir.
<code>mailq | tail -n +2 | awk 'BEGIN { RS = "" } /spam@alanadi\.com/ { print $1 }' | tr -d '*!' | postsuper -d -</code>Kuyruktaki Mail Sayısını ve İçeriğini Kontrol Etme
Mail kuyruğunda bulunan mesaj sayısını ve bu mesajların neden biriktiğini analiz etmek için aşağıdaki komutlar kullanılabilir.
Kuyrukta kaç adet mail olduğunu görmek için
<code>mailq | grep -c "^[A-F0-9]"</code>Belirli bir mailin içeriğini incelemek için
<code>postcat -q [MAIL_ID]</code>Mail Kuyruğunun Kaynağını Analiz Etme
Gönderici alanında e-posta adresi yerine sistem kullanıcısı görülüyorsa, bu mail büyük ihtimalle bir PHP dosyası tarafından oluşturulmuştur.
Hangi dosyanın bu maili gönderdiğini bulmak için öncelikle mailq komutu ile bir Mail ID belirleyelim.
Ardından aşağıdaki komut ile dosya yolunu tespit edelim.
<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.