Postfix’de 4 kuyruk var ama genelde işiniz iki kuyruk üzerinde olacaktır: pending ve deferred.
Bekleyen (pending) kuyruk, postfix’e gönderilen ve henüz gönderilmemiş ve alıcı sunucuya dağıtılmamış tüm iletileri içermektedir.
Deferred posta kuyruğu, yazılım hatası olan ve kullanımdan kaldırılması gereken tüm iletileri (geçici hata) tutmaktadır.
Postfix, ertelenmiş kuyruğu ayarlanan aralıklarla göndermeyi yeniden denemektedir. (varsayılan olarak 5 dakikadır ancak yapılandırılabilir.)
Kuyrukları incelemede yararlanacağınız bazı komutlar:
1- Deferred ve pending mail kuyruklarını görüntüleme :
mailq veya postqueue -p Çıktısını kaydetmek için: mailq > postakuyruğu.txt veya postqueue -p > postakuyruğu.txt
2- Postfix kuyruğunda mesajı (içerik, başlık ve gövde) görüntüleme:
XYXYXYXY kimliğine sahip bir mesajı görüntülemek için: (kimliği kuyruktan görmek mümkün)
postcat -vq XYXODXYX veya bir dosyaya kaydetmek için postcat -vq XYXYXABC> postaXYXYXABC.txt
Artık posta kuyruğunu incelemek için gerekli adımları öğrendik, sırada silme işlemleri var.
3- Postfix’in hemen kuyruğu işlemesi:
postqueue -f veya postfix flush
Postfix'in sıradaki tüm iletileri hemen göndermeye çalışmasına neden olur.
4- Kuyruktaki postaları posta kuyruğundan silme:
postsuper -d ALL kuyruktaki tün postaları sil.
postsuper -d ALL deferred
Yalnızca deferred posta kuyruğu iletilerini silin (yani yalnızca sistemin daha sonra yeniden denemek istediklerini)
5- Postayı seçerek kuyruktan silme:
Bunu internet hazır buldum. Kim yazdıysa eline emeğine sağlık 🙂
#!/usr/bin/perl
$REGEXP = shift || die “no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!”;
@data = qx;
for (@data) {
if (/^(\w+)(\*|\!)?\s/) {
$queue_id = $1;
}
if($queue_id) {
if (/$REGEXP/i) {
$Q{$queue_id} = 1;
$queue_id = “”;
}
}
}
#open(POSTSUPER,”|cat”) || die “couldn’t open postsuper” ;
open(POSTSUPER,”|postsuper -d -“) || die “couldn’t open postsuper” ;
foreach (keys %Q) {
print POSTSUPER “$_\n“;
};
close(POSTSUPER);
Kullanım örnekleri:
bilecik.edu.tr adlı alan adında veya alan adından tüm sıraya alınmış iletileri silin, şunu girin:
./postfix-delete.pl bilecik.edu.tr
E-posta adresinde “yetişkin” kelimesini içeren tüm sıraya alınmış iletileri silin:
./postfix-delete.pl yetişkin
1 yorum
Kişisel Blog
7 Mayıs 2020, 23:40 (UTC 3) Bu yoruma bağlantı
Yararlı bilgi için teşekkürler güzel yazı