Exim: Los comandos más útiles para gestión y control

Exim es uno de los servidores de correo más utlizados en la actualidad, su performance y seguridad lo hacen el más elegidos de la actualidad.

En este post te enseñaremos varios comandos para poder resolver problemas o detectar spam y gestionar nuestro servidor de correo, un recuento muy util que cualquier sysadmin debería tener.

Verificar la cantidad de correos en cola de un dominio

# exim -bp | grep 'dominio.com'Lenguaje del código: PHP (php)

Ver la cantidad de correos en cola

# exim -bpcLenguaje del código: PHP (php)

Listar el número de correos en estado «Frozen»

# exim -bpr | grep frozen | wc -lLenguaje del código: PHP (php)

Eliminar los correos en estado «Frozen»

# exim -bpr | grep frozen | awk {'print $3'} | xargs exim -MrmLenguaje del código: PHP (php)

Eliminar un correo sin enviar un correo de error al remitente

# exim -Mrm IDLenguaje del código: PHP (php)

Eliminar un correo enviando un correo de error al remitente

# exim -Mg IDLenguaje del código: PHP (php)

Forzar el envío de un correo en concreto

# exim -M IDLenguaje del código: PHP (php)

Escanear el log de exim y listar la cantidad de correos enviados por cada cuenta de email del servidor

# cat /var/log/exim_mainlog | grep "A\=dovecot_login" | awk -F"A=dovecot_login:" {'print $2'} | cut -f1 -d' ' | sort | uniq -c | sort -n | awk {'print $1, " correos enviados por " , $2'}Lenguaje del código: PHP (php)

Escanear el log de exim y listar la cantidad de correos enviados por un dominio

# grep dominio.com /var/log/exim_mainlog | grep dovecot_login | awk -F"dovecot_login:" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -nLenguaje del código: PHP (php)

Detectar correos enviados por phpmail

# find ./ -name \*.php -exec grep -l "mail(" {} \;Lenguaje del código: PHP (php)

Ver la cabecera de un correo

# exim -Mvh IDLenguaje del código: PHP (php)

Eliminar los todos los correos que hay en cola

# exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bashLenguaje del código: PHP (php)

Eliminar correos de una dirección de correo que están en cola

# for i in $(exim -bp|grep cuenta@dominio.com|grep -|grep @|awk {'print $3'});do exim -Mrm $i;doneLenguaje del código: PHP (php)

Ver el cuerpo de un correo

# exim -Mvb IDLenguaje del código: PHP (php)

Ver el log de un correo

# exim -Mvl IDLenguaje del código: PHP (php)

Forzar el envio de la cola de correo

# exim -qfLenguaje del código: PHP (php)

Cuántos correos hay en la cola, listado por cuenta de correo

# exim -bp|awk 'NF>1{print $4}' | sort | uniq -c |sort -nk1Lenguaje del código: PHP (php)

Cuántos correos hay en la cola, listado por dominio

# exim -bp | /usr/sbin/exiqsummLenguaje del código: PHP (php)

Explorar el log de exim buscando cuentas atacadas por fuerza bruta

# awk -F"ffff:" '/FAILED/ {IP[$NF]++;}END{ for ( host in IP ) print IP[host]" "host}' /var/log/maillog | awk '{ if ( $1 > 99 ) print $0}' | sort -nk1 | sed 's#]##' > IPS; for IP in `awk '{print $2}' IPS`; do echo -n $(grep $IP IPS); echo -n " - Failed users: "; grep $IP /var/log/maillog | awk -F"user=" '/FAILED/ {print $2}' | cut -d, -f1 | sort | uniq | wc -l; doneLenguaje del código: PHP (php)

Ver la cantidad de conexiones IMAP por usuario

# ps -ef |grep imap | awk '{print $1}' | sort | uniq -c | sort -g -k 1 | tailLenguaje del código: PHP (php)

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.