Mailq posta sunucusunda gönderilemeyen iletilerin saklandığı ve daha sonra gönderilmek üzere tutulan mail kuyruğudur. Alıcı sunucunun çok yoğun olması veya postgrey kullanıyor olması, sunucudaki müsterilerin izinsiz bir toplu mail gönderiliyor olmasi, hatali bir kodlama yüzünden spam yollaniyor olması, bilgisayarlardaki virüsler yüzünden spam çıkışı, iletilerin sunucu mail kuyruğunda birikmesine neden olabilir. SSH ile sunucuya bağlanıp aşağıdaki komutlarla postfix mail kuyruğu işlemlerini yönetebilirsiniz.
mail kuyruğunu görmek için
mailq
mail kuyruğu çok uzun ise, sayfalara bölmek icin
mailq | less
posta kuyruğundaki emaillerin sayisini ögrenmek icin
mailq | egrep ‘^–’
mailq daki bütün emaillerin gönderimini durdurmak icin
postsuper -h ALL
Tek bir iletiyi durdurmak icin ID = Queue ID
postsuper -h ID
durdurulan tüm mailleri yine serbest birakmak icin
postsuper -H ALL
durdurulan tek bir emaili serbest birakmak icin
postsuper -H ID
biriken emailleri zorla göndermek icin
postqueue -f
tüm biriken emailleri mailq dan silmek icin
postsuper -d ALL
tek bir emaili mailq dan silmek icin ID = Queue ID
postsuper -d ID
bir adrese giden tüm emailleri silmek icin
mailq | tail +2 | awk ‘BEGIN { RS = “” } / user@domain.com$/ { print $1 } ‘ | tr -d ‘*!’ | postsuper -d –
tail: cannot open `+2′ for reading: No such file or directory
hatasi aliyorsaniz asadaki sekilde kullana bilirsiniz.
mailq | tail -n +2 | awk ‘BEGIN { RS = “” } / user@domain.com$/ { print $1 } ‘ | tr -d ‘*!’ | postsuper -d –
bir adresden gönderilen emailleri silmek icin
mailq | grep “user@domain.com” | awk ‘{ print $1}’ | postsuper -d –
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——-
9DF7520804B 3726 Sat Aug 27 06:06:41 MAILER-DAEMON
(connect to example.ru[xx.xx.xx.xx]: Connection timed out)
1232sd435@barisdemirtas.com.tr
Maillerin id lerini gördükten sonra “9DF7520804B” idli mailin içeriklerini okumak için,
postcat -q 9DF7520804B
Bundan sonra yapabileceğiniz işlemlerden bağzıları kuyruğu temizlemek, kuyrukta biriken mailleri zorla göndermeye çalışmak (flush) olabilir.
postfix flush
Kuyruktaki maillerin silmek için
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
Barış Demirtaş
Mayıs 2024
Comments are closed