İçerik Erişimi
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