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)

Comentarios recientes