skip to Main Content
Postfix Mail Kuyruğu Komutları

Postfix Mail Kuyruğu İşlemleri: mailq, postqueue ve postsuper Komutları

Hızlı cevap: Postfix mail kuyruğunu mailq (veya postqueue -p) ile görür, postqueue -f ile hemen göndermeyi denersiniz. Tek bir iletiyi postsuper -d KUYRUK_ID, yalnızca ertelenmiş iletileri postsuper -d ALL deferred, kuyruğun tamamını postsuper -d ALL ile silersiniz. Silmeden önce postcat -q KUYRUK_ID ile içeriğe bakıp spam olup olmadığını kontrol edin.

Mail kuyruğu (mailq), posta sunucusunun hemen teslim edemediği ve daha sonra yeniden denemek üzere beklettiği iletilerdir. Kuyrukta ileti birikmesinin başlıca nedenleri: alıcı sunucunun yoğun olması veya geçici olarak reddetmesi (greylisting), alıcı sunucuya bağlanılamaması, sunucudaki bir hesaptan izinsiz toplu e-posta gönderilmesi, ele geçirilmiş bir parola veya virüslü bir bilgisayar nedeniyle spam çıkışı ve hatalı yazılmış bir web formu. Aşağıdaki komutlarla SSH üzerinden Postfix kuyruğunu yönetebilirsiniz.

Postfix Mail Kuyruğu Komutları

İşlem Komut
Kuyruğu listele mailq veya postqueue -p
Uzun listeyi sayfa sayfa gör mailq | less
Kuyruktaki ileti sayısını gör mailq | tail -n 1
Kuyruğu hemen göndermeyi dene (flush) postqueue -f
Bir iletinin içeriğini oku postcat -q KUYRUK_ID
Tüm iletileri beklet (hold) postsuper -h ALL
Tek iletiyi beklet postsuper -h KUYRUK_ID
Bekletilen tüm iletileri serbest bırak postsuper -H ALL
Tek iletiyi serbest bırak postsuper -H KUYRUK_ID
Tek iletiyi sil postsuper -d KUYRUK_ID
Yalnızca ertelenmiş (deferred) iletileri sil postsuper -d ALL deferred
Kuyruğun tamamını sil postsuper -d ALL

Komutların tüm seçenekleri için Postfix’in resmi belgelerine bakın: postqueue, postsuper, postcat.

Belirli Bir Adrese Giden İletileri Silme

Kuyruktaki iletilerden yalnızca belirli bir alıcıya gidenleri silmek için ([email protected] yerine adresi yazın):

mailq | tail -n +2 | awk 'BEGIN { RS = "" } / user@domain\.com$/ { print $1 }' | tr -d '*!' | postsuper -d -

Bazı sistemlerde tail +2 yazımı “cannot open `+2’” hatası verir; bu yüzden yukarıda tail -n +2 kullanılmıştır.

Belirli Bir Adresten Gönderilen İletileri Silme

Bir hesaptan gönderilen (örneğin parolası ele geçirilmiş ve spam gönderen) iletileri silmek için gönderen adresine göre filtreleyin:

mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]") print $1 }' | tr -d '*!' | postsuper -d -

Bu komut kuyruk çıktısının 7. sütunundaki gönderen adresini eşleştirir. Silmeden önce aynı komutu | postsuper -d - kısmı olmadan çalıştırıp hangi iletilerin seçildiğini kontrol edin.

Kuyrukta Spam Olup Olmadığını Anlama

Kuyrukta yüzlerce ileti birikmişse sunucudan spam gönderiliyor olabilir. Önce kuyruğu listeleyip kuyruk kimliklerini (Queue ID) görün:

# 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)
                                         [email protected]

Ardından şüpheli bir iletinin içeriğini okuyun:

postcat -q 9DF7520804A

Gönderen hesap ve içerik spam ise o hesabın parolasını hemen değiştirin, ilgili iletileri silin ve sunucunuzun kara listelere girip girmediğini kontrol edin. Gönderdiğiniz e-postaların neden spam’e düştüğünü ve geri döndüğünü mailler spam’e düşüyor ve mail hata mesajıyla geri dönüyor rehberlerimizde anlattık.

Mail sunucusuyla uğraşmak istemiyor musunuz? ASO Web kurumsal e-posta hizmetinde sunucu yönetimi, kuyruk takibi, SPF/DKIM ve spam koruması bizde. Kendi sunucunuzu kurmak isterseniz sanal sunucu paketlerine bakın.

Sıkça Sorulan Sorular

Postfix mail kuyruğu nasıl görüntülenir?

SSH ile sunucuya bağlanıp mailq veya postqueue -p komutunu çalıştırın. Kuyruktaki ileti sayısını görmek için mailq | tail -n 1 kullanabilirsiniz.

Postfix mail kuyruğu nasıl temizlenir?

Kuyruğun tamamını postsuper -d ALL, yalnızca ertelenmiş iletileri postsuper -d ALL deferred, tek bir iletiyi postsuper -d KUYRUK_ID komutuyla silebilirsiniz.

Kuyruktaki iletileri hemen nasıl gönderirim?

postqueue -f komutu kuyruktaki iletilerin hemen yeniden gönderilmesini dener.

Kuyruktaki bir iletinin içeriğini nasıl okurum?

postcat -q KUYRUK_ID komutuyla iletinin başlıklarını ve içeriğini görebilirsiniz.

Mail kuyruğunda neden ileti birikir?

Alıcı sunucunun yoğun olması veya geçici reddetmesi, bağlantı sorunları ya da ele geçirilmiş bir hesaptan spam gönderilmesi en sık nedenlerdir.

Back To Top
×Close search
Ara