Exim Mail Kuyruğu Yönetim’i Hakkında bilginiz mi yok? | Bilişim Destek

Exim Mail Kuyruğu Yönetim’i Hakkında bilginiz mi yok?

Exim Mail Kuyruğu Yönetim’i Hakkında bilginiz mi yok?

Ö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/delaya 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;

Basit Exim Kuyruk Yönetimi

# 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 komutu ile gerçekleştirilir. Ancak, sık sık komut satırı üzerinden exim onu beslemeden önce verileri filtrelemek için exiqgrep kullanın. Burada temel ve en popüler kuyruk işlemler şunlardır:

 

# 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

 

# List all queued messages, grouped by sender address

  • exim -bpr | grep -Eo “<[^ ]*@[^ ]*>” | sort | uniq -c

# List all queued messages, grouped by recipient address

  • 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;

  • mailq
  • exim -bp

 

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” mailin gönderildiği adres 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 “1Ka6u5-00032Z-Eb*”

 

Örneğin:

/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

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

 

Saygılar,
TheDoctor

 


3432 Görüntüleme.

Yazar : TheDoctor

“Exim Mail Kuyruğu Yönetim’i Hakkında bilginiz mi yok?” for 3 comments

  1. Çok iyiymiş, eline* sağlık

  2. Yakup Çınar diyor ki:

    Merhaba

    Mükemmel bir yazı olmuş çok teşekkürler
    çok işimi gördü :)

Exim Mail Kuyruğu Yönetim’i Hakkında bilginiz mi yok? Yazısı için Yorum Yapabilirsiniz