Mailq mail sunucumuzda yollanamayan emaillerin saklandigi bir mail kuyrugudur. Karsi sunucunun cok yogun olmasi veya postgrey kullaniyor olmasi, sunucudaki müsterilerin izinsiz bir newsletter gönderiliyor olmasi, hatali bir script yüzünden spam yollaniyor olmasi gibi konular mailq ‘umuzu sisire bilir. Bu yüzden göndermek istediginiz Emaillerin gecikmesi söz konusu ola bilir.
Asagida son günlerde bana pek lazim olan bir kac komutu tanitacagim.
mailq görmek icin
mailq
uzun bir liste cikiyorsa sayfalara bölmek icin
mailq | less
mailq daki emaillerin sayisini ögrenmek icin
mailq | egrep '^--'
mailq daki bütün emaillerin gönderimini durdurmak icin
postsuper -h ALL
tek bir emaili 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 -