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 -bpc
Lenguaje del código: PHP (php)
Listar el número de correos en estado «Frozen»
# exim -bpr | grep frozen | wc -l
Lenguaje del código: PHP (php)
Eliminar los correos en estado «Frozen»
# exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
Lenguaje del código: PHP (php)
Eliminar un correo sin enviar un correo de error al remitente
# exim -Mrm ID
Lenguaje del código: PHP (php)
Eliminar un correo enviando un correo de error al remitente
# exim -Mg ID
Lenguaje del código: PHP (php)
Forzar el envío de un correo en concreto
# exim -M ID
Lenguaje 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 -n
Lenguaje 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 ID
Lenguaje del código: PHP (php)
Eliminar los todos los correos que hay en cola
# exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash
Lenguaje 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;done
Lenguaje del código: PHP (php)
Ver el cuerpo de un correo
# exim -Mvb ID
Lenguaje del código: PHP (php)
Ver el log de un correo
# exim -Mvl ID
Lenguaje del código: PHP (php)
Forzar el envio de la cola de correo
# exim -qf
Lenguaje 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 -nk1
Lenguaje del código: PHP (php)
Cuántos correos hay en la cola, listado por dominio
# exim -bp | /usr/sbin/exiqsumm
Lenguaje 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; done
Lenguaje 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 | tail
Lenguaje del código: PHP (php)
Comentarios recientes