Exim Mail Kuyruğu Yönetimi

Exim Mail Kuyruğu Yönetimi

Merhabalar,

Öncelik olarak değinmek istediğim konu,

Exim Mail Kuyruğuna Saygı Duyun.

Bir Admin, bir Yönetici olarak bu konuda yapabileceğiniz en kötü şeylerden biri, yüzlerce, binlerce donmuş ya da relay/delay a düşmüş mail gördüğünüz bir kuyruğu, temizleyip geçmektir. Bunu yapmayınız! Bu şekilde temizlenen mesajlar hiçbir iz kalmadan yok olur, müşterileriniz ve mail üzerinden görüşmekte olan kişiler ne olduğu konusunda en ufak bir fikir sahibi olmayacaktır. Ayrıca servisleriniz de kısa zaman içerisinde güvenilmez olarak tanımlanacak ve müşterilerinizle sorun yaşamanıza zemin hazırlanmış olacaktır.

Pek çok admin bu işlemlerin bir kısmını Grafik UI üzerinden takip eder, çünkü UI üzerinde kolaydır. Ancak bir kaç basit komut ile kuyruğu çok daha etkin bir şekilde kontrol etmek ve yönetmek mümkündür.

O zaman aşağıdaki dökümanımızı biraz inceleyelim ve bu konuda daha detaylı bilgi edinelim;

Basic Exim Kuyruk Yönetimi

Kod Blokları

# Kuyrukta bekleyen bütün maillerin listesi için;
exim -bpc

# Kuyruktaki mailin listesi için; (kuyruktaki zaman, mail boyutu, mail id, gönderen, alıcı)
exim -bp

# Kuyruktaki tüm maillerin bilgileri (sayı, volume, en eski, en yeni, gidecek domain)
exim -bp | exiqsumm

# Exim’in bir maili nereye route edeceğini emir etmek
exim -bt user@domain.com

# Exim’in spestifik bir IP adresine bağlanırken ne tepki vereceğini ölçün
exim -bh 192.168.1.1

exiqgrep İle Mail Kuyruğunda Araştırma Yapmak

# Belli bir göndericiye ait bütün emailleri listeleyin
exiqgrep -f [user]@domain

# Belli bir alıcıya gönderilen bütün emailleri listeleyin
exiqgrep -r [user]@domain

# Belli bir saniyeden eski gönderilen bütün emailleri listeleyin
exiqgrep -o [saniye]

# Belli bir saniyeden yeni gönderilen bütün emailleri listeleyin
exiqgrep -y [seconds]

# Belli bir boyut olan mailleri listeleyin(regex olabilir)
exiqgrep -s ‘^2…$’
Yukarıdaki komutları aşağıdaki ekler ile birleştirebilir ve detaylı arama gerçekleştirebilirsiniz;

-i sadece mail ID’si için

-z sadece donmuş mailler için

-x sadece donmamış, unfrozen mailler

Exim Kuyruğunu Yönetmek

Kuyruk yönetimi, exim komutlarını kullanarak gerçekleştirilir. Ancak pek çok bilgiyi filtreleyerek istediğimizi görebilmek için exiqgrep’i sıkça kullanabilir. Aşağıda kuyruk yönetimi ile ilgili en popüler komutlar yer almaktadır;

Blokları;

# Kuyruğu çalıştırın, işleme başlasın(loadlar yüksekse çalışmaz)
exim -q -v

# Kuyruğu zorla çalıştırın (loadları umursamadan çalışır)
exim -qf -v

# Sadece lokalde mail gönderenler için kuyruğu çalıştırın
exim -ql -v

# ID ile kuyruktaki bir maili temizleyin
exim -Mrm <message-id> …

# Maili dondurun (Freeze)
exim -Mf <message-id> …

# Maili Thaw edin
exim -Mt <message-d> …

# Maili zorla gönderin (Frozen statüsünde olsa dahi gönderir)
exim -M <message-id> …

# Mailin loglarını gözlemleyin
exim Mvl

# Mailin başlığını gözleyin
exim Mvh

# Mailin içeriğini gözleyin
exim Mvb

Gelişmiş Mail Kuyruğu Yönetimi

# Kuyrukta ilgili gönderen adrese ait bütün mailleri gözlemleyin;
exim -bpr | grep -Eo “<[^ ]*@[^ ]*>” | sort | uniq -c

# Kuyrukta ilgili alıcı adrese ait bütün mailleri gözlemleyin;
exim -bpr | grep -Eo “^\s*[^ ]*@[^ ]*$” | sort | uniq -c

# 12 Saatten eski bütün mailleri kuyruktan sil (43000 saniye)
exiqgrep -o 43000 -i | xargs exim -Mrm

# Donuk bütün mailleri kuyruktan sil (Frozen)
exiqgrep -z -i | xargs exim -Mrm

# Belli bir gönderenden giden bütün mailleri kuyruktan sil (Spam Savaşçısı)
exiqgrep -i -f [user]@domain.com | xargs exim -Mrm

# Belli bir gönderenden giden 12 saatten eski bütün mailleri kuyruktan sil
exiqgrep -o 43000 -i -f [user]@domain.com |xargs exim -Mrm

Mail İçeriklerinin Yönetimi

Mail Kuyruğunu görüntülemek için aşağıdaki komutlar kullanılabilir;

Kuyruktaki Mailler: exim -bp
Kuyrukta Kaç Adet Mail Olduğu: exim -bpc

Eğer Exim /usr/sbin de ise ve /usr/sbin veri yolunda değilseniz, aşağıdaki gibi bir prefix yol eklemelisiniz;

/usr/sbin/exim -bp

Örnek Çıktı;

4d 1.2K 1Ka6u5-00032Z-Eb <from@example.com>
to@example.com

62h 1.2K 1KaRH0-0007QZ-B5 <from@example.com>
to@example.com

3h 22K 1KbLHr-0004ev-An <from@example.com>
to@example.com

Yukarıdaki örnekte, ”from@example.com” maili gönderen mail adresi olur iken, ”to@example.com” ise mailin gönderildiği adrestir. Bu adreslerin yerine normalde gerçek mail adresleri gelecektir.

4d, 62h and 3h değerleri mailin kuyrukta ne kadar beklediğini gösterir. Mesela Örnekteki mailler: 4 gün, 62 saat ve 3 saat beklemişler.

x.xK değerleri mesajın boyutudur.

Ve 1Ka6u5-00032Z-Eb ise mail ID’sidir. Ayrıca mailin disk üzerinde /var/spool/exim/msglog ve /var/spool/exim/input da gözlemleyebileceğiniz adıdır. (Klasözünüz Linux/Unix Dağıtımınıza ya da Sistem ayarlarınıza göre değişiklik gösterebilir.).
Dosyaları find komutunu kullanarak bulmak;
”find” Komutunu kullanarak belli bir e posta için veri yolunu ve varyasyonlarını bulabilirsiniz.

find /var/spool/exim -name “1VS53W-0005cy-Aa*”
1VS50r-0005Rp-7m
which would display something like this:
/var/spool/exim/msglog/1Ka6u5-00032Z-Eb
/var/spool/exim/input/1Ka6u5-00032Z-Eb-D
/var/spool/exim/input/1Ka6u5-00032Z-Eb-H

Dosyalar ile veri yolunu bulduğumuza göre nano komutu içe detaylı bilgilendirme için inceleyebiliriz.

nano /var/spool/exim/msglog/1Ka6u5-00032Z-Eb

Basit Kuyruk Yönetimi

Tabi ki de sunucunuzda müşterileriniz mail göndermiyor, ve tıkanan kuyruğu acilen temizlemeniz gerekiyor ise ben şahsen tavsiye etmesem de siz bütün kuyruğu temizlemeyi seçebilirsiniz. Bunun için aşağıdaki Kod bloklarını çalıştırmanız yeterlidir;

Directadmin Sunucu;

cd /var/spool
killall -9 exim
killall -9 exim
killall -9 exim
killall -9 spamd
killall -9 spamc
mv exim exim.old
mkdir -p exim/input
mkdir -p exim/msglog
mkdir -p exim/db
chown -R mail:mail exim
/sbin/service exim restart

cPanel Sunucu;

cd /var/spool
killall -9 exim
killall -9 exim
killall -9 exim
killall -9 spamd
killall -9 spamc
mv exim exim.old
mkdir -p exim/input
mkdir -p exim/msglog
mkdir -p exim/db
chown -R mailnull:mail exim
/sbin/service exim restart

Umarım yardımcı olmuş ve olacaktır.

İyi çalışmalar dilerim

Yorum yapın

This site uses Akismet to reduce spam. Learn how your comment data is processed.