Postfix - Mail Kuyruğu Queue İşlemleri
Yoğun olarak kullanılan mail servislerinde, karşı sunucunun cevap vermemesi yada göndermeye çalıştığınız mail boyutunun büyük olmasından kaynaklanan, bunların dışında da mail servisiniz üzerinden spam yapılması sebebi ile mail kuyruğunun şişmesine neden olan sorunlarla karşılaşılabilmektedir.
Yukarıdaki gibi bir durumda mailleriniz kuyrukta birikmekte, göndermiş olduğunuz maillerin geç gitmesi gibi sorunlarla karşılaşılmakta.
Kuyrukta biriken mailleri görmek için,
# mailq
Kuyrukta biriken maillerin çokluğu acaba sunucudan spam mı yapılıyor endişesi doğurabilir. Bu durumda kuyrukta biriken maillerin id lerini görerek içeriklerini okuyabiliriz.
# postqueue -p -Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——- 9DF7520804A 3726 Sat Aug 25 03:06:41 MAILER-DAEMON (connect to example.ru[xx.xx.xx.xx]: Connection timed out) 1232sd435@examle.ru
Maillerin id lerini gördükten sonra “9DF7520804A” idli mailin içeriklerini okumak için,
# postcat -q 9DF7520804A
Bu şekilde kuyrukta biriken maillerin içeriklerini okuyarak birçok soruya cevap elde etmiş olursunuz.
Bundan sonra yapabileceğiniz işlemlerden bağzıları kuyruğu temizlemek, kuyrukta biriken mailleri zorla göndermeye çalışmak (flush) olabilir.
# postfix flush
ya da
# postfix -f
komutu ile kuyruktaki mailleri zorla göndermeye çalışmanıza rağmen maillier bir türlü karşı tarafa iletilemeyebilir. Bu durumda yapmanız gereken en iyi çözüm kuyruktaki maillerin silinmesi olacaktır.
# postsuper -d ALL
Yukarıdaki komutla tüm kuyrukta bekleyen mailleri silebileceğiniz gibi aşağıdaki komut yardımı ile sadece iletilmesi ertelenmiş mailleri de silebilirsiniz.
# postsuper -d ALL deferred
Yada sadece queue id sini bildiğiniz kuyrukta biriken maili silmek isterseniz,
# postsuper -d queue_id
şeklinde de kullanabilirsiniz.
Postfix mail serverde kontrol edilmesi gereken yerlerden biri olan kuyruk(queue) işlemleri, mail serverde ortaya çıkan geç gitme gibi problemlerin çözümü açısından bilinmesi gereken yönetim arayüzlerinden birisisir. Bu yazıda olası sorunlarda işinize yarayabilecek bir kaç kod bloğundan bahsedeceğiz.
Postfix mail kuyruğu yönetim arabirimi olan postqueuenin bazı özellikleri şu şekildedir:
• Mail kuyruğunda kaç tane mail olduğunu görmek için;
postqueue –p (Bu kod okunabilir bir şekilde serverınızdaki işlem gören veya beklemede olan mailleri çıktı olarak ekrana basar.)
• Kuyruktaki maillerin tekrar gönderilmesini sağlamak için;
postqueue –f (Serverda herhangi bir değişiklik yaptıktan sonra kuyrukta biriken mailleri gönderme işlemidir.)
• Kuyruktaki belirli bir kişiden gelen mailleri silmek için;
Mailq | tail –n +2 | grep –v ‘^*(‘ | awk ‘BEGIN { RS = “” } { if ( == USER@EXAMPLE.COM && == “”) print } ‘ | tr –d ‘*!’ | postsuper –d – (Bu komut ile serverınızda sorun çıkan kişinin maillerini manuel olarak da silebilirsiniz.)
• Yapılandırdığınız serverin gelişmiş queue ayarlarını görmek içinse;
postconf –d | grep queue (Bu kod ile yapılandırmanızda varsayılan olarak gelen veya sizin yapılandırmış olduğunuz ayarları main.cf veya master.cf den daha kaliteli olarak görebilirsiniz.)
• Eğer kuyruktaki maillerin hepsini silmek isterseniz;
postsuper -d ALL deferred