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

Translate »